/* indirme teması: program tanıtım ve indirme rehberi. Sistem yazı tipleri, dış kaynak ve JavaScript yok.
   Site dosya barındırmaz: indirme düğmeleri programın resmi kaynağına gider; tema bunu düğmenin altında ve alt
   bilgide açıkça söyler. Vurgu rengi --vurgu-ana'dan türetilir; site ayarındaki vurgu rengi (site.accentColor) layout'ta
   yalnızca --vurgu-ana'yı değiştirir. Göreli renk sözdizimini destekleyen tarayıcıda yazı ve düğme zemini tonlarının
   açıklığı sınırlanır: panelden seçilen her renkte (çok açık, çok koyu) beyaz yazı ve vurgu yazısı okunur kalır. */

:root {
  color-scheme: light dark;
  /* indirme yeşili: beyaz yazıyla 5,4:1 */
  --vurgu-ana: #0b7a3d;

  --zemin: #f3f5f4;
  --kart: #ffffff;
  --zemin-2: #eaeeec;
  --metin: #13201a;
  --metin-2: #46534c;
  --metin-3: #5f6b65;
  --cizgi: #e0e6e2;
  --cizgi-2: #cbd3ce;

  --vurgu: var(--vurgu-ana);
  --vurgu-koyu: color-mix(in srgb, var(--vurgu) 78%, #000);
  --vurgu-zemin: var(--vurgu-ana);
  --vurgu-zemin-koyu: color-mix(in srgb, var(--vurgu-zemin) 82%, #000);
  --vurgu-zemin-metin: #ffffff;
  --vurgu-acik: color-mix(in srgb, var(--vurgu-ana) 8%, var(--kart));
  --vurgu-cizgi: color-mix(in srgb, var(--vurgu-ana) 24%, var(--kart));

  --tanitim-zemin: #ffd34d;
  --tanitim-metin: #3a2c00;
  --yildiz: #e59a00;
  --yildiz-bos: #d5dbd7;
  --eksi: #c0392b;

  --golge-1: 0 1px 2px rgb(19 32 26 / 0.05);
  --golge-2: 0 12px 30px -16px rgb(19 32 26 / 0.3);

  --yaricap: 12px;
  --yaricap-k: 8px;
  --yaricap-b: 18px;
  --genislik: 1240px;
  --kenar: 16px;

  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

@media (prefers-color-scheme: dark) {
  :root {
    --zemin: #0f1412;
    --kart: #171d1a;
    --zemin-2: #1f2723;
    --metin: #e8eeea;
    --metin-2: #b2bdb7;
    --metin-3: #95a19b;
    --cizgi: #27302c;
    --cizgi-2: #36413b;

    --vurgu: color-mix(in srgb, var(--vurgu-ana) 55%, #fff);
    --vurgu-koyu: color-mix(in srgb, var(--vurgu-ana) 38%, #fff);
    --vurgu-acik: color-mix(in srgb, var(--vurgu-ana) 16%, var(--kart));
    --vurgu-cizgi: color-mix(in srgb, var(--vurgu-ana) 40%, var(--kart));

    --yildiz: #f2b02e;
    --yildiz-bos: #3a4540;
    --eksi: #f07b6e;

    --golge-1: none;
    --golge-2: 0 12px 30px -16px rgb(0 0 0 / 0.75);
  }
}

/* Kontrast güvencesi: vurgu yazısı (--vurgu) açık temada en fazla oklch 0.49, beyaz yazılı zemin (--vurgu-zemin)
   en fazla 0.53 açıklıkta (yeşil ve camgöbeği tonlarında da açık zeminde ve beyazla en az 4.5:1); koyu temada yazı en az 0.72 açıklıkta, zemin 0.45–0.53 arasında
   (siyah ya da lacivert vurguda da düğme koyu zeminde kaybolmaz). Özel özellikler her değeri kabul ettiği için yedek
   değer bildirimin önüne yazılamaz; @supports gerekir. */
@supports (color: oklch(from red min(l, 0.5) c h)) {
  :root {
    --vurgu: oklch(from var(--vurgu-ana) min(l, 0.49) c h);
    --vurgu-zemin: oklch(from var(--vurgu-ana) min(l, 0.53) c h);
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --vurgu: oklch(from color-mix(in srgb, var(--vurgu-ana) 55%, #fff) max(l, 0.72) c h);
      --vurgu-zemin: oklch(from var(--vurgu-ana) clamp(0.45, l, 0.53) c h);
    }
  }
}

@media (min-width: 768px) {
  :root { --kenar: 24px; }
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--metin);
  background: var(--zemin);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-wrap: break-word;
}

img { max-width: 100%; height: auto; }

a { color: var(--vurgu); }
a:hover { color: var(--vurgu-koyu); }

svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }

:focus-visible {
  outline: 3px solid var(--vurgu);
  outline-offset: 2px;
  border-radius: 4px;
}

.kap {
  width: 100%;
  max-width: calc(var(--genislik) + 2 * var(--kenar));
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--kenar);
  padding-right: var(--kenar);
}

.gizli {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.atla {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: var(--vurgu-zemin);
  color: var(--vurgu-zemin-metin);
  padding: 10px 16px;
  border-radius: 0 0 8px 8px;
  font-weight: 700;
  text-decoration: none;
}
.atla:focus { left: 12px; }

/* ---------- üst bilgi ---------- */

.ust {
  position: relative;
  z-index: 20;
  background: var(--kart);
  border-bottom: 1px solid var(--cizgi);
}

.ust-ic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.marka {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.logo {
  margin: 0;
  font-size: 1.3125rem;
  line-height: 1;
  font-weight: 850;
  min-width: 0;
}
.logo a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  color: var(--metin);
  text-decoration: none;
}
.logo img {
  display: block;
  height: 36px;
  width: auto;
  min-width: 36px;
  max-width: min(220px, 56vw);
  object-fit: contain;
}
/* baş harf rozeti program simgesi gibi yuvarlatılmış kare; köşede indirme oku izi */
.logo-harf {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 1.75em;
  height: 1.75em;
  border-radius: 0.5em;
  background: linear-gradient(150deg, var(--vurgu-zemin), var(--vurgu-zemin-koyu));
  color: var(--vurgu-zemin-metin);
  font-size: 0.9em;
  font-weight: 900;
  text-transform: uppercase;
}
.logo-harf[data-harf]::before { content: attr(data-harf); }
.logo-harf::after {
  content: "";
  position: absolute;
  right: 0.2em;
  bottom: 0.2em;
  width: 0.34em;
  height: 0.34em;
  border-radius: 50%;
  background: var(--vurgu-zemin-metin);
  opacity: 0.85;
}
.logo-ad {
  letter-spacing: -0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 60vw;
  padding-bottom: 0.08em;
}

.slogan {
  margin: 0;
  padding-left: 16px;
  border-left: 1px solid var(--cizgi-2);
  font-size: 0.8125rem;
  color: var(--metin-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.ust-dugme,
.dil {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--metin);
  font-weight: 700;
  font-size: 0.875rem;
  text-decoration: none;
}
.ust-dugme:hover, .dil:hover { background: var(--zemin-2); color: var(--metin); }
.diller { display: flex; margin-left: auto; }
.ust-dugme svg { color: var(--vurgu); }
.ust-dugme circle { fill: currentColor; stroke: none; }

/* bölüm menüsü: taşarsa yatay kaydırılır */
.bolumler { border-top: 1px solid var(--cizgi); }
.bolumler ul {
  list-style: none;
  margin: 0 -10px;
  padding: 0;
  display: flex;
  gap: 2px;
  overflow-x: auto;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.bolumler ul::-webkit-scrollbar { display: none; }
.bolumler li { flex: none; }
.bolumler a {
  position: relative;
  display: block;
  padding: 12px 10px 11px;
  white-space: nowrap;
  color: var(--metin-2);
  font-weight: 650;
  font-size: 0.9375rem;
  text-decoration: none;
}
.bolumler a::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
}
.bolumler a:hover { color: var(--metin); }
.bolumler a:hover::after { background: var(--cizgi-2); }
.bolumler a[aria-current] { color: var(--vurgu); }
.bolumler a[aria-current]::after { background: var(--vurgu); }
.bolumler a:focus-visible { outline-offset: -3px; }
.bolumler-dis { position: relative; margin-left: 12px; }
.bolumler-dis + .bolumler-dis { margin-left: 0; }
.bolumler li:not(.bolumler-dis) + .bolumler-dis::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 50%;
  height: 16px;
  margin-top: -8px;
  border-left: 1px solid var(--cizgi-2);
}

/* ---------- ana alan ---------- */

main {
  flex: 1;
  padding-top: 20px;
  padding-bottom: 56px;
}

/* çipler */
.cip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 14px;
  border: 1px solid var(--cizgi-2);
  border-radius: 999px;
  background: var(--kart);
  color: var(--metin);
  font-size: 0.875rem;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
a.cip:hover { border-color: var(--vurgu); color: var(--vurgu); }
.cip[aria-current] {
  background: var(--vurgu-zemin);
  border-color: var(--vurgu-zemin);
  color: var(--vurgu-zemin-metin);
}
a.cip[aria-current]:hover { background: var(--vurgu-zemin-koyu); color: var(--vurgu-zemin-metin); }

.cipler { min-width: 0; }
.cipler ul {
  list-style: none;
  margin: 0;
  padding: 2px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.cipler ul::-webkit-scrollbar { display: none; }
.cipler li { flex: none; }
/* çip satırı kaydırma kutusudur (üst ve alt kenarı da keser): odak halkası çipin içine çizilir */
.cip:focus-visible { outline-offset: -4px; }

/* fareli ekranda ince kaydırma çubuğu */
@media (hover: hover) and (pointer: fine) {
  .bolumler ul,
  .cipler ul { scrollbar-width: thin; scrollbar-color: var(--cizgi-2) transparent; }
  .bolumler ul::-webkit-scrollbar,
  .cipler ul::-webkit-scrollbar { display: block; height: 6px; }
  .bolumler ul::-webkit-scrollbar-thumb,
  .cipler ul::-webkit-scrollbar-thumb { background: var(--cizgi-2); border-radius: 3px; }
}
/* taşan satırın sağ kenarı soluklaşır; sonda iz kalkar */
@property --kaydirma-izi {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@keyframes kaydirma-izi {
  from { --kaydirma-izi: 48px; }
  to { --kaydirma-izi: 0px; }
}
@supports (animation-timeline: scroll()) {
  .bolumler ul,
  .cipler ul {
    mask-image: linear-gradient(to left, transparent, #000 var(--kaydirma-izi));
    animation: kaydirma-izi linear both;
    animation-timeline: scroll(self inline);
  }
}

/* blok başlıkları */
.blok { margin-top: 40px; }
.blok-ilk { margin-top: 8px; }
.blok-ust {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.blok-baslik {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  min-width: 0;
}
/* başlık yanı açıklama; dar ekranda alta iner */
.blok-not { margin: 0; color: var(--metin-3); font-size: 0.8125rem; font-weight: 600; text-align: right; text-wrap: pretty; }
@media (max-width: 559px) {
  .blok-ust:has(.blok-not) { flex-direction: column; align-items: flex-start; gap: 4px; }
  .blok-not { text-align: left; }
}

.tumu {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 34px;
  padding: 0 14px;
  border: 1px solid var(--cizgi-2);
  border-radius: 999px;
  background: var(--kart);
  color: var(--metin);
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.tumu:hover { border-color: var(--vurgu); color: var(--vurgu); }

.dugme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--vurgu-zemin);
  color: var(--vurgu-zemin-metin);
  font-weight: 800;
  font-size: 0.9375rem;
  text-decoration: none;
}
.dugme:hover { background: var(--vurgu-zemin-koyu); color: var(--vurgu-zemin-metin); }

.daha-fazla { display: flex; justify-content: center; margin: 44px 0 0; }

.bos, .bos-kutu {
  margin: 28px 0 0;
  padding: 40px 20px;
  text-align: center;
  color: var(--metin-2);
  background: var(--kart);
  border: 1px dashed var(--cizgi-2);
  border-radius: var(--yaricap);
}
.bos-kutu h2 { margin: 0 0 6px; color: var(--metin); font-size: 1.25rem; }
.bos-kutu p { margin: 0; }

/* ---------- etiketler: Tanıtım, lisans ---------- */

.tanitim {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 6px;
  background: var(--tanitim-zemin);
  color: var(--tanitim-metin);
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.tanitim-kucuk { height: 18px; padding: 0 6px; font-size: 0.6875rem; }

/* satır içi blok: fiyatın önündeki " · " boşlukları korunur (esnek kutu kenar boşluklarını yutardı) */
.lisans {
  display: inline-block;
  height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 750;
  line-height: 24px;
  white-space: nowrap;
  vertical-align: middle;
}
.lisans-serbest {
  background: var(--vurgu-acik);
  color: var(--vurgu);
  box-shadow: inset 0 0 0 1px var(--vurgu-cizgi);
}
.lisans-ucretli {
  background: var(--zemin-2);
  color: var(--metin-2);
  box-shadow: inset 0 0 0 1px var(--cizgi);
}
.lisans-fiyat { font-variant-numeric: tabular-nums; }
.lisans-buyuk { height: 30px; padding: 0 12px; font-size: 0.8125rem; line-height: 30px; }
.lisans-kucuk { height: 20px; padding: 0 7px; font-size: 0.6875rem; line-height: 20px; }

/* ---------- program simgesi ---------- */

.simge {
  --b: 64px;
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: var(--b);
  height: var(--b);
  border-radius: calc(var(--b) * 0.24);
  overflow: hidden;
  background: var(--kart);
  box-shadow: inset 0 0 0 1px rgb(19 32 26 / 0.08);
}
/* kare olmayan logo kırpılmaz, karonun ortasına sığdırılır (kare simgede görünüm aynı) */
.simge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* Görselli karo iki temada da açık zeminde: şeffaf zeminli koyu logolar koyu temada kaybolmaz (uygulama mağazalarındaki
   açık karo gibi). */
.simge-gorsel { background: #ffffff; }
.simge-40 { --b: 40px; }
.simge-64 { --b: 64px; }
.simge-72 { --b: 72px; }
.simge-96 { --b: 96px; }

/* Simgesi olmayan program: baş harf, vurgu renginden türeyen degrade karo. Tonlar vurguyu altı komşu renkle karıştırır
   (aynı açıklık bandı, beyaz harf okunur); ton programın adından gelir. */
.simge-harf {
  --ton: var(--vurgu-zemin);
  background:
    radial-gradient(120% 90% at 20% 0%, rgb(255 255 255 / 0.22), transparent 55%),
    linear-gradient(150deg, var(--ton), color-mix(in oklch, var(--ton) 72%, #000));
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.06);
  color: #fff;
  font-size: calc(var(--b) * 0.46);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgb(0 0 0 / 0.25);
}
.simge-harf[data-harf]::before { content: attr(data-harf); }
.ton-1 { --ton: color-mix(in oklch, var(--vurgu-zemin) 50%, #1f5fd6); }
.ton-2 { --ton: color-mix(in oklch, var(--vurgu-zemin) 50%, #7a3fd1); }
.ton-3 { --ton: color-mix(in oklch, var(--vurgu-zemin) 45%, #d0561f); }
.ton-4 { --ton: color-mix(in oklch, var(--vurgu-zemin) 50%, #0e8aa0); }
.ton-5 { --ton: color-mix(in oklch, var(--vurgu-zemin) 50%, #c23a63); }
.simge-yazi { background: var(--zemin-2); color: var(--metin-3); box-shadow: none; }

@media (prefers-color-scheme: dark) {
  .simge { box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08); }
  .simge-gorsel { background: #e8eeea; }
}

/* ---------- editör puanı ---------- */

.puan {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin: 0;
  color: var(--metin-2);
  font-size: 0.875rem;
}
.puan strong { color: var(--metin); font-size: 1rem; font-variant-numeric: tabular-nums; }
.yildizlar {
  position: relative;
  display: inline-block;
  flex: none;
  line-height: 0;
}
.yildizlar svg { fill: currentColor; stroke: none; }
.yildizlar-bos,
.yildizlar-dolu { display: flex; gap: 2px; }
.yildizlar-bos { color: var(--yildiz-bos); }
.yildizlar-dolu {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
  color: var(--yildiz);
  width: 0;
}
/* 18 px yıldız + 2 px aralık: tam yıldızlar 20 px, yarım yıldız 9 px */
.puan-10 .yildizlar-dolu { width: 18px; }
.puan-15 .yildizlar-dolu { width: 29px; }
.puan-20 .yildizlar-dolu { width: 38px; }
.puan-25 .yildizlar-dolu { width: 49px; }
.puan-30 .yildizlar-dolu { width: 58px; }
.puan-35 .yildizlar-dolu { width: 69px; }
.puan-40 .yildizlar-dolu { width: 78px; }
.puan-45 .yildizlar-dolu { width: 89px; }
.puan-50 .yildizlar-dolu { width: 98px; }

.puan-kucuk {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--metin-2);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.puan-kucuk svg { fill: var(--yildiz); stroke: none; }
.puan-kucuk-etiket { margin-left: 2px; color: var(--metin-3); font-weight: 500; }

/* ---------- platform simgeleri ---------- */

.platform-ikon { stroke-width: 1.8; }
/* yalnızca telefon simgesinin kamera noktası dolu; web küresinin çemberi çizgi kalır */
.platform-ikon .nokta { fill: currentColor; }
.platform-mini {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 5px;
  color: var(--metin-3);
}
.platform-mini li { display: flex; }

/* ---------- ızgaralar: kap sorgusu ---------- */

/* Izgaranın sütun sayısı ve kartın görünümü kabın genişliğinden gelir (ana sayfada tam genişlik, kategori sayfasında
   yan sütunlu ana alan, dar ekranda liste): aynı parça her yerde doğru yoğunlukta çizilir. */
.izgara-kap { container-type: inline-size; min-width: 0; }

.uygulamalar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.kartlar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

/* ---------- program kartı ---------- */

.uygulama {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  padding: 16px 16px 14px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
  box-shadow: var(--golge-1);
}
.uygulama:hover { border-color: var(--cizgi-2); box-shadow: var(--golge-2); }

.uygulama-metin {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  width: 100%;
  min-width: 0;
}
.uygulama-ad {
  margin: 0;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -0.01em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.uygulama-ad a { color: var(--metin); text-decoration: none; }
/* kartın tamamı program sayfasına gider: tek bağlantının katmanı kartı kaplar */
.uygulama-ad a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
.uygulama:hover .uygulama-ad a { color: var(--vurgu); }
.uygulama-etiket {
  position: absolute;
  top: 12px;
  right: 12px;
  margin: 0;
  pointer-events: none;
}
.uygulama-aciklama {
  margin: 0;
  color: var(--metin-2);
  font-size: 0.875rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
/* kartın dibi: lisans (+ fiyat, editör puanı) satırı, altında platform simgeleri ve sürüm; kart boyu değişse de dipte
   durur */
.uygulama-alt {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
  padding-top: 4px;
  min-width: 0;
}
.uygulama-lisans {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin: 0;
  font-size: 0.75rem;
}
/* Kartta fiyat haptan ayrı, kendi içinde bölünmeyen öğe: dar kartta hapla birlikte kartın dışına taşmaz, sığmazsa alt
   satıra geçer. */
.uygulama-fiyat {
  color: var(--metin);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
/* sürüm yanına sığmazsa alt satıra geçer ("Sür…" diye kırpılmaz) */
.uygulama-bilgi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 8px;
  min-height: 18px;
  min-width: 0;
  color: var(--metin-3);
  font-size: 0.75rem;
}
.uygulama-surum {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

@supports selector(:has(a)) {
  .uygulama:has(.uygulama-ad a:focus-visible) { outline: 3px solid var(--vurgu); outline-offset: 2px; }
  .uygulama-ad a:focus-visible { outline: none; }
}

/* dar kap: liste (simge solda, yazı sağda), kartlar tek kutuda satır satır */
@container (max-width: 519.98px) {
  .uygulamalar {
    gap: 0;
    padding: 0 14px;
    background: var(--kart);
    border: 1px solid var(--cizgi);
    border-radius: var(--yaricap);
  }
  .uygulama {
    flex-direction: row;
    gap: 14px;
    padding: 14px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .uygulama:hover { box-shadow: none; }
  .uygulama + .uygulama { border-top: 1px solid var(--cizgi); }
  .uygulama .simge { --b: 52px; }
  .uygulama-metin { gap: 4px; }
  .uygulama-ad { padding-right: 72px; }
  .uygulama-etiket { top: 14px; right: 0; }
  .uygulama-aciklama { -webkit-line-clamp: 1; line-clamp: 1; font-size: 0.8125rem; }
  .uygulama-alt { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 14px; padding-top: 2px; }
  .uygulama-lisans { gap: 4px 10px; }
  .uygulama-bilgi { justify-content: flex-start; gap: 10px; }
  .uygulama:has(.uygulama-ad a:focus-visible) { outline-offset: -2px; }
}
/* adın yanında "Tanıtım" yoksa ad sağa kadar uzar */
@container (max-width: 519.98px) {
  .uygulama-ad:not(:has(+ .uygulama-etiket)) { padding-right: 0; }
}
@container (min-width: 520px) {
  .uygulamalar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* karo görünümünde editör puanı her kartta sağda (alt satıra kaysa da): yan yana kartların dibi hizalı */
  .uygulama-lisans .puan-kucuk { margin-left: auto; }
}
@container (min-width: 760px) {
  .uygulamalar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container (min-width: 980px) {
  .uygulamalar { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@container (min-width: 1080px) {
  .uygulamalar { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* kısa satır (bölüm panelleri): açıklama ve sürüm gizlenir, lisans ve platformlar tek satırda */
.uygulama-kompakt .uygulama-aciklama,
.uygulama-kompakt .uygulama-surum { display: none; }
@container (max-width: 519.98px) {
  .uygulama-kompakt { align-items: center; padding: 12px 0; }
  .uygulama-kompakt .simge { --b: 44px; }
  .uygulama-kompakt .uygulama-ad { -webkit-line-clamp: 1; line-clamp: 1; }
}

/* ---------- yazı kartı ---------- */

.kart {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
  box-shadow: var(--golge-1);
  overflow: hidden;
}
.kart:hover { border-color: var(--cizgi-2); box-shadow: var(--golge-2); }
.kart-medya {
  position: relative;
  flex: none;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--zemin-2);
}
.kart-medya img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* görselsiz kart: vurgu tonlu, belge simgeli yer tutucu (dış görsel yok) */
.yer-tutucu {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 1px 1px, var(--vurgu-cizgi) 1px, transparent 0) 0 0 / 14px 14px,
    var(--vurgu-acik);
  color: var(--vurgu);
}
.kart-metin {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
  padding: 14px 16px 16px;
}
.kart-etiketler {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  min-width: 0;
  max-width: 100%;
  pointer-events: none;
}
.kart-etiketler a { pointer-events: auto; }
.kart-kategori {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vurgu);
  font-size: 0.8125rem;
  font-weight: 750;
  text-decoration: none;
}
.kart-kategori:hover { text-decoration: underline; text-underline-offset: 3px; }
.kart-baslik {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 750;
  line-height: 1.32;
  letter-spacing: -0.01em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-wrap: pretty;
}
.kart-baslik a { color: var(--metin); text-decoration: none; }
.kart-baslik a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.kart:hover .kart-baslik a { color: var(--vurgu); }
.kart-ozet {
  margin: 0;
  color: var(--metin-2);
  font-size: 0.9375rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.kart-bilgi {
  margin: auto 0 0;
  padding-top: 2px;
  color: var(--metin-3);
  font-size: 0.8125rem;
}
@supports selector(:has(a)) {
  .kart:has(.kart-baslik a:focus-visible) { outline: 3px solid var(--vurgu); outline-offset: 2px; }
  .kart-baslik a:focus-visible { outline: none; }
}

/* satır kartı (bölümlerdeki yazılar) ve dar kapta tüm yazı kartları: küçük görsel solda */
.kart-satir,
.kartlar-satir .kart {
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
}
.kart-satir .kart-medya { width: 96px; aspect-ratio: 4 / 3; border-radius: var(--yaricap-k); }
.kart-satir .kart-metin { padding: 0; gap: 4px; }
.kart-satir .kart-baslik { font-size: 0.9375rem; -webkit-line-clamp: 2; line-clamp: 2; }
.kart-satir .kart-bilgi { font-size: 0.75rem; }
.kart-satir .yer-tutucu svg { width: 22px; height: 22px; }

@container (max-width: 519.98px) {
  .kartlar:not(.kartlar-satir) {
    gap: 0;
    padding: 0 14px;
    background: var(--kart);
    border: 1px solid var(--cizgi);
    border-radius: var(--yaricap);
  }
  .kartlar:not(.kartlar-satir) .kart {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }
  .kartlar:not(.kartlar-satir) .kart + .kart { border-top: 1px solid var(--cizgi); }
  .kartlar:not(.kartlar-satir) .kart-medya { width: 104px; aspect-ratio: 4 / 3; border-radius: var(--yaricap-k); }
  .kartlar:not(.kartlar-satir) .kart-metin { padding: 0; gap: 5px; }
  .kartlar:not(.kartlar-satir) .kart-baslik { font-size: 0.9688rem; }
  .kartlar:not(.kartlar-satir) .kart-ozet { display: none; }
  .kartlar:not(.kartlar-satir) .kart-bilgi { font-size: 0.75rem; }
  .kartlar .kart:has(.kart-baslik a:focus-visible) { outline-offset: -2px; }
}
@container (min-width: 520px) {
  .kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kartlar-satir { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
@container (min-width: 760px) {
  .kartlar-satir { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container (min-width: 820px) {
  .kartlar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* ilgili yazılar en çok 4: geniş ekranda tek sıra */
@container (min-width: 1080px) {
  .kartlar-ilgili { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- ana sayfa: giriş bandı ---------- */

.giris {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: center;
  gap: 28px;
  padding: 30px 22px 28px;
  border-radius: var(--yaricap-b);
  color: #fff;
  background:
    radial-gradient(90% 120% at 100% 0%, rgb(255 255 255 / 0.1), transparent 60%),
    linear-gradient(125deg, color-mix(in oklab, var(--vurgu-zemin) 45%, #04120b) 0%, color-mix(in oklab, var(--vurgu-zemin) 80%, #04120b) 45%, var(--vurgu-zemin) 100%);
}
/* uygulama ızgarasını anımsatan nokta dokusu; yazının altında soluklaşır */
.giris::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 2px 2px, rgb(255 255 255 / 0.16) 1.2px, transparent 0) 0 0 / 22px 22px;
  mask-image: linear-gradient(100deg, transparent 25%, #000 85%);
}
.giris-metin { min-width: 0; }
.giris-baslik {
  margin: 0;
  font-size: clamp(2.125rem, 1.3rem + 3.2vw, 3.5rem);
  font-weight: 850;
  line-height: 1.02;
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.giris-slogan {
  margin: 12px 0 0;
  max-width: 48ch;
  color: rgb(255 255 255 / 0.9);
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1875rem);
  line-height: 1.45;
}
.giris-kategoriler { margin-top: 26px; }
.giris-etiket {
  margin: 0 0 10px;
  color: rgb(255 255 255 / 0.9);
  font-size: 0.8125rem;
  font-weight: 700;
}
.giris-kategoriler ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cip-giris {
  height: 38px;
  border-color: rgb(255 255 255 / 0.4);
  background: rgb(0 0 0 / 0.2);
  color: #fff;
}
a.cip-giris:hover { border-color: #fff; background: rgb(0 0 0 / 0.32); color: #fff; }
.cip-giris:focus-visible { outline-color: #fff; outline-offset: 2px; }
.cip-sayi {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgb(255 255 255 / 0.18);
  font-size: 0.75rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

/* simge vitrini (süsleme): en yeni programların simgeleri eğik bir raf gibi */
.vitrin { display: none; }

/* kategori panelleri: her kategori bir kutu, içinde program satırları (panel dar olduğundan kap sorgusu satır
   görünümünü seçer) ve varsa yazı satırları. Seyrek sitede de boş ızgara hücresi bırakmaz. */
.bolum-izgara {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.bolum {
  min-width: 0;
  padding: 4px 18px 6px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
  box-shadow: var(--golge-1);
}
.bolum-ust {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--cizgi);
}
/* başlığın altında sekme gibi vurgu çizgisi */
.bolum-baslik {
  margin: 0 0 -1px;
  padding: 14px 0 12px;
  border-bottom: 3px solid var(--vurgu);
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.2;
  min-width: 0;
}
.bolum .tumu { height: 30px; padding: 0 12px; }
.bolum .uygulamalar {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}
.bolum .kartlar-satir { gap: 0; }
.bolum .kart {
  padding: 12px 0;
  background: none;
  border: 0;
  border-top: 1px solid var(--cizgi);
  border-radius: 0;
  box-shadow: none;
}
.bolum .kart:hover { box-shadow: none; }
.bolum-ust + .kartlar-satir .kart:first-child { border-top: 0; }
.bolum .kart-satir .kart-medya { width: 72px; }

/* ---------- liste sayfası başı (kategori, ana sayfa 2+) ---------- */

.liste-ust {
  display: grid;
  gap: 8px;
  padding: 4px 0 24px;
}
.liste-baslik {
  margin: 0;
  font-size: clamp(1.875rem, 1.4rem + 1.8vw, 2.75rem);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.liste-bilgi {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  margin: 0;
  color: var(--metin-3);
  font-size: 0.9375rem;
}
.liste-bilgi > span + span::before { content: "·"; margin: 0 8px; }
.liste-ust .cipler { margin-top: 12px; }

.liste-govde {
  display: grid;
  gap: 36px;
  align-items: start;
}
.liste-ana { min-width: 0; }

/* yan sütun: son eklenenler */
.yan {
  min-width: 0;
  padding: 18px 18px 8px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
}
.yan-baslik {
  margin: 0 0 6px;
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.yan-liste { list-style: none; margin: 0; padding: 0; }
.yan-liste li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--cizgi);
}
.yan-metin { display: grid; gap: 3px; min-width: 0; }
.yan-metin > a {
  color: var(--metin);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.yan-metin > a:hover { color: var(--vurgu); text-decoration: underline; text-underline-offset: 3px; }
.yan-bilgi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  color: var(--metin-3);
  font-size: 0.75rem;
}
.yan-surum { font-variant-numeric: tabular-nums; }

/* konum (breadcrumb) */
.kirinti { max-width: 100%; }
.kirinti ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2px 0;
  font-size: 0.8125rem;
  color: var(--metin-3);
}
.kirinti li { min-width: 0; }
.kirinti li + li::before { content: "/"; margin: 0 8px; color: var(--cizgi-2); }
/* dokunma alanı ≥ 24 px, düzen aynı */
.kirinti a { display: inline-block; padding-block: 0.25rem; margin-block: -0.25rem; color: var(--metin-2); text-decoration: none; }
.kirinti a:hover { color: var(--vurgu); text-decoration: underline; }
.kirinti li[aria-current] {
  max-width: 36ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* sayfalama */
.sayfalama {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 40px;
}
.sayfa-dugme {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 42px;
  padding: 0 18px;
  border: 1px solid var(--cizgi-2);
  border-radius: 999px;
  background: var(--kart);
  color: var(--metin);
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
}
a.sayfa-dugme:hover { border-color: var(--vurgu); color: var(--vurgu); }
.sayfa-dugme.pasif { color: var(--metin-3); background: transparent; border-style: dashed; }
.konum { color: var(--metin-2); font-weight: 650; font-size: 0.9375rem; font-variant-numeric: tabular-nums; }

/* ---------- program sayfası: başlık kartı ve indirme kutusu ---------- */

.sayfa-icerik > .kirinti { margin-bottom: 14px; }

.program-ust {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px 32px;
  padding: 20px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap-b);
  box-shadow: var(--golge-1);
}
.program-kimlik {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
}
.program-adlar { min-width: 0; }
.program-etiketler { margin: 0 0 8px; }
.program-baslik {
  margin: 0;
  font-size: clamp(1.5rem, 1.05rem + 1.7vw, 2.25rem);
  font-weight: 850;
  line-height: 1.12;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.program-surum {
  margin: 8px 0 0;
  color: var(--metin-2);
  font-size: 0.9375rem;
}
.program-surum strong { color: var(--metin); font-weight: 750; }
.program-surum-no { font-variant-numeric: tabular-nums; }
.program-gelistirici { margin: 4px 0 0; color: var(--metin-3); font-size: 0.875rem; }
.program-gelistirici a { color: var(--metin-2); font-weight: 650; text-underline-offset: 3px; }
.program-gelistirici a:hover { color: var(--vurgu); }

.program-rozetler {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  min-width: 0;
}
.platform-cipleri {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.platform-cipleri li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 11px 0 9px;
  border: 1px solid var(--cizgi-2);
  border-radius: 999px;
  color: var(--metin-2);
  font-size: 0.8125rem;
  font-weight: 650;
  white-space: nowrap;
}
.platform-cipleri svg { color: var(--metin-3); }

/* İndirme kutusu: sitenin tek işi, programın resmi kaynağına güvenle yönlendirmek. Düğme, alt satırda kaynağın
   resmi olduğu ve platformlar; kesik çizginin altında dosyanın burada barındırılmadığı ve bağlantının alan adı. */
.indir-kutu {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 0;
  padding: 14px;
  background: var(--vurgu-acik);
  border: 1px solid var(--vurgu-cizgi);
  border-radius: 14px;
}
.indir {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  border-radius: 11px;
  background: var(--vurgu-zemin);
  color: var(--vurgu-zemin-metin);
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.18) inset, 0 8px 18px -10px color-mix(in srgb, var(--vurgu-zemin) 80%, #000);
}
.indir:hover { background: var(--vurgu-zemin-koyu); color: var(--vurgu-zemin-metin); }
.indir svg { stroke-width: 2.2; }
.indir-yazi { display: grid; gap: 2px; min-width: 0; }
.indir-ana { font-size: 1rem; }
/* platform listesi uzunsa alt satıra kayar (kırpılsa hangi sistemlere indirildiği okunmazdı) */
.indir-alt {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  text-wrap: pretty;
}
.indir-buyuk { min-height: 64px; padding: 10px 18px; }
.indir-buyuk .indir-ana { font-size: 1.25rem; letter-spacing: -0.01em; }
.indir-buyuk svg { width: 26px; height: 26px; }
.indir-orta { justify-content: center; min-height: 48px; padding: 0 18px; }
.indir-kucuk { flex: none; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; }
.indir-kucuk svg { width: 19px; height: 19px; }

.resmi-site {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--vurgu-cizgi);
  border-radius: 10px;
  background: var(--kart);
  color: var(--metin);
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
}
.resmi-site:hover { border-color: var(--vurgu); color: var(--vurgu); }
.resmi-site svg { color: var(--vurgu); }

.indir-not {
  margin: 2px 0 0;
  padding-top: 10px;
  border-top: 1px dashed var(--vurgu-cizgi);
  color: var(--metin-2);
  font-size: 0.8125rem;
  line-height: 1.45;
}
.indir-hedef { display: block; margin-top: 4px; overflow-wrap: anywhere; }
.indir-hedef strong { color: var(--metin); font-weight: 700; }

/* Mobil uygulamanın resmi mağaza sayfaları: İndir düğmesinin altında yan yana iki sade düğme (dar ekranda alt alta). */
.magazalar { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.magaza {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 6px 14px;
  border-radius: 10px;
  background: var(--metin);
  color: var(--kart);
  text-decoration: none;
}
.magaza:hover { background: var(--metin-2); color: var(--kart); }
.magaza svg { flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; }
.magaza-yazi { display: grid; line-height: 1.15; }
.magaza-ust { font-size: 0.6875rem; font-weight: 600; opacity: 0.85; }
.magaza-ad { font-size: 1rem; font-weight: 800; }

/* "Bağlantı çalışmıyor mu?" bildirimi: kapalıyken tek satırlık sade bağlantı, açılınca betiksiz form. */
.bildir { font-size: 0.8125rem; color: var(--metin-2); }
.bildir summary {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  cursor: pointer;
  font-weight: 700;
  color: var(--metin-2);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bildir summary:hover { color: var(--vurgu); }
.bildir-form { display: grid; gap: 10px; margin-top: 6px; padding: 12px; border-radius: 10px; background: var(--kart); border: 1px solid var(--cizgi); }
.bildir-form fieldset { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; }
.bildir-form legend { margin-bottom: 4px; padding: 0; color: var(--metin); font-weight: 700; }
.bildir-form label { display: flex; align-items: center; gap: 8px; min-height: 28px; color: var(--metin); }
.bildir-form input[type="radio"] { accent-color: var(--vurgu); width: 16px; height: 16px; }
.bildir-form button {
  justify-self: start;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 9px;
  background: var(--vurgu-zemin);
  color: var(--vurgu-zemin-metin);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.bildir-form button:hover { background: var(--vurgu-zemin-koyu); }
.bildir-not { margin: 0; color: var(--metin-3); }
.bildir-tuzak { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- yazı/program gövdesi ---------- */

.sayfa-govde {
  display: grid;
  gap: 36px;
  align-items: start;
  margin-top: 28px;
}
.sayfa-ana { min-width: 0; }

.yazi-ust { max-width: 760px; margin: 0 auto; }
.yazi .sayfa-icerik > .kirinti,
.yazi > .kirinti { max-width: 760px; margin-left: auto; margin-right: auto; }
.yazi .sayfa-govde { max-width: 760px; margin-left: auto; margin-right: auto; margin-top: 18px; }
.yazi-etiketler { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; min-width: 0; }
.yazi-baslik {
  margin: 0;
  font-size: clamp(1.875rem, 1.2rem + 2.4vw, 2.875rem);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.ozet {
  margin: 0 0 18px;
  max-width: 68ch;
  color: var(--metin);
  font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
  font-weight: 600;
  line-height: 1.55;
}

.kunye {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 12px 0;
  margin-bottom: 24px;
  border-top: 1px solid var(--cizgi);
  border-bottom: 1px solid var(--cizgi);
}
.imza {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
  margin: 0;
  color: var(--metin-2);
  font-size: 0.875rem;
}
.imza > span + span::before { content: "·"; margin: 0 8px; color: var(--metin-3); }
.yazar { color: var(--metin); font-weight: 750; }
.yazar a { color: inherit; text-decoration: underline; text-decoration-color: var(--vurgu); text-underline-offset: 3px; }
.yazar a:hover { color: var(--vurgu); }

.paylas {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.paylas a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--cizgi-2);
  border-radius: 50%;
  background: var(--kart);
  color: var(--metin-2);
}
.paylas a:hover { background: var(--vurgu-zemin); border-color: var(--vurgu-zemin); color: var(--vurgu-zemin-metin); }

.ara-baslik {
  margin: 0 0 14px;
  font-size: 1.1875rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.25;
}

/* Ekran görüntüleri: sabit yükseklikte yatay kaydırılan şerit, her görsel tam boyutuna bağlanır. Genişliği görselin
   kendi oranı belirler (motor en/boy vermez): dikey telefon görüntüsü de yatay masaüstü görüntüsü de gri boşluğa
   gömülmez. Yükseklik sabit olduğundan görseller yüklenirken sayfa dikeyde kaymaz; yüklenmeyen görselin kutusu da
   en az min-width genişliğinde kalır. */
.ekranlar { margin: 4px 0 30px; }
.ekran-listesi {
  list-style: none;
  margin: 0;
  padding: 2px 2px 10px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: var(--cizgi-2) transparent;
}
.ekran-listesi li {
  scroll-snap-align: start;
  height: clamp(200px, 56vw, 280px);
  min-width: 96px;
  overflow: hidden;
  border: 1px solid var(--cizgi);
  border-radius: 10px;
  background: var(--zemin-2);
}
.ekran-listesi a { display: block; height: 100%; }
.ekran-listesi a:focus-visible { outline-offset: -3px; }
.ekran-listesi img {
  display: block;
  width: auto;
  height: 100%;
  max-width: min(80vw, 460px);
  object-fit: contain;
}

.kapak { margin: 0 0 26px; }
.kapak img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  background: var(--zemin-2);
}
.kapak img.oransiz { aspect-ratio: 16 / 9; object-fit: contain; }
.kapak figcaption { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; font-size: 0.8125rem; color: var(--metin-3); }
.temsili { font-weight: 700; }

.govde {
  max-width: 70ch;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--metin);
}
.govde > :first-child { margin-top: 0; }
.govde p { margin: 0 0 1.1em; }
.govde h2, .govde h3, .govde h4, .govde h5, .govde h6 {
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.018em;
  margin: 1.7em 0 0.55em;
  scroll-margin-top: 16px;
}
.govde h2 { font-size: 1.4375rem; }
.govde h3 { font-size: 1.1875rem; }
.govde h4, .govde h5, .govde h6 { font-size: 1.0625rem; }
.govde a {
  color: var(--vurgu);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.govde a:hover { text-decoration-thickness: 2px; }
.govde img {
  display: block;
  width: 100%;
  height: auto;
  margin: 1.4em 0;
  border-radius: 10px;
  background: var(--zemin-2);
}
.govde ul, .govde ol { margin: 0 0 1.1em; padding-left: 1.4em; }
.govde li { margin: 0.35em 0; padding-left: 0.2em; }
.govde li::marker { color: var(--vurgu); font-weight: 800; }
.govde blockquote {
  margin: 1.6em 0;
  padding: 14px 18px;
  border-left: 4px solid var(--vurgu);
  border-radius: 0 10px 10px 0;
  background: var(--vurgu-acik);
  color: var(--metin-2);
}
.govde blockquote p:last-child { margin-bottom: 0; }
.govde hr { margin: 2em 0; border: 0; border-top: 1px solid var(--cizgi); }
.govde table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  margin: 1.6em 0;
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.45;
}
.govde th, .govde td { padding: 9px 12px; border: 1px solid var(--cizgi); text-align: left; vertical-align: top; }
.govde th { background: var(--zemin-2); font-weight: 750; }
.govde code {
  font-family: var(--mono);
  font-size: 0.86em;
  padding: 0.12em 0.38em;
  border-radius: 5px;
  background: var(--zemin-2);
}
.govde pre {
  overflow-x: auto;
  margin: 1.4em 0;
  padding: 16px 18px;
  border-radius: 10px;
  background: var(--zemin-2);
  font-size: 0.9rem;
  line-height: 1.6;
}
.govde pre code { padding: 0; background: none; font-size: inherit; }

/* artılar ve eksiler */
.artieksi {
  display: grid;
  gap: 14px;
  margin: 34px 0 0;
}
.arti, .eksi {
  min-width: 0;
  padding: 18px 18px 12px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
}
.arti { border-top: 3px solid var(--vurgu); }
.eksi { border-top: 3px solid var(--eksi); }
.artieksi ul { list-style: none; margin: 0; padding: 0; }
.artieksi li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  padding: 7px 0;
  line-height: 1.45;
}
.artieksi li + li { border-top: 1px solid var(--cizgi); }
.artieksi svg { margin-top: 2px; stroke-width: 2.6; }
.arti svg { color: var(--vurgu); }
.eksi svg { color: var(--eksi); }

/* SSS */
.sss { margin: 40px 0 0; }
.sss > h2 {
  margin: 0 0 14px;
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.sss-oge {
  margin-bottom: 10px;
  padding: 16px 18px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap-k);
}
.sss-oge h3 { margin: 0 0 6px; font-size: 1.0625rem; font-weight: 750; line-height: 1.35; }
.sss-oge p { margin: 0; color: var(--metin-2); line-height: 1.6; }

.sayfa-alt {
  display: grid;
  gap: 18px;
  margin: 40px 0 0;
  padding-top: 22px;
  border-top: 1px solid var(--cizgi);
}
.kucuk-baslik {
  margin: 0 0 10px;
  color: var(--metin-3);
  font-size: 0.8125rem;
  font-weight: 700;
}
.etiket-listesi ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.etiket-listesi li {
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  color: var(--metin-2);
  font-size: 0.8125rem;
  font-weight: 650;
}
.etiket-listesi li::before { content: "#"; margin-right: 2px; color: var(--vurgu); font-weight: 800; }
/* etiket sayfalı sitede etiket bağlantıdır */
.etiket-listesi li:has(> a) { padding: 0; }
.etiket-listesi li:has(> a)::before { content: none; }
.etiket-listesi a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; color: inherit; text-decoration: none; border-radius: inherit; }
.etiket-listesi a::before { content: "#"; margin-right: 2px; color: var(--vurgu); font-weight: 800; }
.etiket-listesi a:hover { color: var(--vurgu); }
.etiket-listesi li:has(> a:hover) { border-color: var(--vurgu-cizgi); }
.etiket-ust { margin: 0 0 4px; color: var(--vurgu); font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.tarihler {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  margin: 0;
  color: var(--metin-3);
  font-size: 0.8125rem;
}

/* Program bilgileri: DOM'da gövdeden önce. Dar ekranda başlık kartının hemen altında (dosya boyutu, gereksinim uzun
   gövdenin dibinde kalmaz; indirme düğmesi gizli, başlıktaki düğme ve yapışkan çubuk bu işi görür), geniş ekranda sağ
   sütunda yapışık; düğme kartın başında, kart ekrandan uzun olsa da görünür kalır. */
.bilgiler {
  min-width: 0;
  padding: 18px;
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
  box-shadow: var(--golge-1);
}
.bilgiler-baslik {
  margin: 0 0 6px;
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.bilgiler dl { margin: 0; }
.bilgiler dl > div {
  display: grid;
  grid-template-columns: minmax(96px, 38%) minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--cizgi);
}
.bilgiler dt { color: var(--metin-3); font-size: 0.8125rem; line-height: 1.5; }
.bilgiler dd { margin: 0; font-size: 0.875rem; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.bilgiler dd a { color: var(--vurgu); text-underline-offset: 3px; }
.sayisal { font-variant-numeric: tabular-nums; }
.bilgiler .indir { width: 100%; margin: 10px 0 14px; }

/* dar ekranda sayfa boyunca altta duran indirme çubuğu (yalnızca program sayfası): akıştaki yerini korur, içeriği
   örtmez; makalenin sonunda kendi yerine oturur. Geniş ekranda yan sütundaki kart bu işi görür. */
.yapiskan { display: none; }

/* ilgili içerikler */
.ilgili {
  margin: 56px 0 0;
  padding-top: 28px;
  border-top: 1px solid var(--cizgi);
}
.ilgili-yazilar { margin-top: 14px; }

/* ---------- 404 ---------- */

.bulunamadi {
  display: grid;
  justify-items: center;
  gap: 6px;
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 0 24px;
  text-align: center;
}
.bulunamadi .kod {
  margin: 0;
  font-size: clamp(5.5rem, 3rem + 12vw, 9rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.06em;
  color: var(--vurgu);
}
.bulunamadi h1 { margin: 10px 0 0; font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); font-weight: 850; letter-spacing: -0.03em; }
.bulunamadi-metin { margin: 4px 0 16px; color: var(--metin-2); font-size: 1.0625rem; max-width: 46ch; }
.bulunamadi .cipler { width: 100%; margin-top: 28px; }
.bulunamadi .cipler ul { flex-wrap: wrap; justify-content: center; overflow: visible; mask-image: none; animation: none; }

/* ---------- alt bilgi ---------- */

.alt {
  margin-top: 24px;
  padding: 40px 0 24px;
  background: var(--kart);
  border-top: 1px solid var(--cizgi);
  font-size: 0.9375rem;
}
.alt-ust { display: grid; gap: 28px; }
.logo-alt { font-size: 1.25rem; }
/* alt bilgide site adı kısaltılmaz, sütunda alt satıra kayar */
.logo-alt a { align-items: flex-start; }
.logo-alt .logo-ad {
  max-width: none;
  overflow: visible;
  white-space: normal;
  line-height: 1.2;
  padding-top: 0.2em;
}
.alt-aciklama { margin: 12px 0 0; max-width: 42ch; color: var(--metin-2); font-size: 0.875rem; line-height: 1.6; }
.alt-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.alt-kategoriler { grid-column: 1 / -1; }
.alt-baslik {
  margin: 0 0 12px;
  color: var(--metin);
  font-size: 0.875rem;
  font-weight: 800;
}
.alt ul { list-style: none; margin: 0; padding: 0; }
.alt li { margin: 0 0 8px; break-inside: avoid; }
.alt-kategoriler ul { columns: 2; column-gap: 24px; }
.alt a { color: var(--metin-2); text-decoration: none; }
.alt a:hover { color: var(--vurgu); text-decoration: underline; }
.alt .logo a { color: var(--metin); }
.alt .logo a:hover { color: var(--metin); text-decoration: none; }
.alt-alt {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 24px;
  margin-top: 32px;
  padding-top: 18px;
  border-top: 1px solid var(--cizgi);
  color: var(--metin-3);
  font-size: 0.8125rem;
}
.alt-alt p { margin: 0; }

/* ---------- duyarlı düzen ---------- */

@media (max-width: 599.98px) {
  .slogan { display: none; }
  .logo { font-size: 1.1875rem; }
  .logo-ad { max-width: 58vw; }
  /* "RSS" yazısı görünmez ama bağlantının erişilebilir adı olarak kalır (display: none adı da silerdi) */
  .ust-dugme-yazi {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .ust-dugme { width: 40px; justify-content: center; padding: 0; }

  .giris { padding: 26px 18px 22px; }
  .blok { margin-top: 32px; }
  .program-ust { padding: 16px; }
  .program-kimlik { gap: 14px; }
  .program-kimlik .simge { --b: 72px; }
  .kunye { align-items: flex-start; }
  /* künye kaydığında alt satır "·" ile başlamasın: yazar kendi satırında */
  .imza > .yazar { flex-basis: 100%; }
  .imza > .yazar + span::before { content: none; }
  .bilgiler dl > div { grid-template-columns: minmax(0, 40%) minmax(0, 1fr); }
  /* lisans hapı ve platform çipleri aynı satırda başlar; çipler küçülür, indirme düğmesi yukarıda kalır */
  .program-rozetler { gap: 8px; }
  .platform-cipleri { flex: 1 1 12rem; gap: 5px; }
  .platform-cipleri li { height: 28px; padding: 0 9px 0 7px; gap: 5px; font-size: 0.75rem; }
  .platform-cipleri svg { width: 14px; height: 14px; }
}

/* Çok dar ekran: simge başlığın üstüne çıkar, başlık tüm genişliği kullanır. Sütun düzeninde ad bloğu kabı doldurur
   (flex-start ile içeriği kadar genişler, boşluksuz uzun bir ad ya da başlık kelimesi kartı ve sayfayı yana taşırırdı). */
@media (max-width: 359.98px) {
  .program-kimlik { flex-direction: column; gap: 12px; }
  .program-kimlik .simge { --b: 64px; }
  .program-adlar { align-self: stretch; }
}

/* Kategori panelleri 580 px'ten itibaren iki sütun: panel başlığına (bağlantı kısa "Tümü →") uzun tek kelimelik
   kategori adı da ("Kişiselleştirme") sığar, kelime ortasından bölünmez. Daha darda tek sütun; panel içi yine liste
   (kabı 520 px'in altında kalır). */
@media (min-width: 580px) {
  .bolum-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1080px) {
  .bolum-izgara { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1023.98px) {
  /* Klavyeyle gezilirken odaklanan öğe alttaki yapışkan çubuğun altında kalmasın: tarayıcı öğeyi görünüme getirirken
     çubuğun yüksekliği kadar (+ güvenli alan) payı hesaba katar. */
  html:has(.yapiskan) { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .bilgiler .indir { display: none; }
  /* sticky: akışta kendi yeri vardır (içeriği örtmez); makale boyunca ekranın altında durur */
  .yapiskan {
    position: sticky;
    bottom: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 28px calc(-1 * var(--kenar)) 0;
    padding: 10px var(--kenar) calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--kart);
    border-top: 1px solid var(--cizgi);
    box-shadow: 0 -10px 24px -16px rgb(0 0 0 / 0.35);
  }
  .yapiskan-ad {
    display: grid;
    justify-items: start;
    gap: 3px;
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.2;
  }
  .yapiskan-ad strong {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 600px) {
  .alt-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .alt-kategoriler ul { columns: 3; }
  .artieksi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .artieksi > :only-child { grid-column: 1 / -1; }
  .program-ust { padding: 24px; }
}

@media (min-width: 768px) {
  .alt-ust { grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: 40px; }
  .alt-menu { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
  .alt-kategoriler { grid-column: auto; }
  .alt-kategoriler ul { columns: 2; }
}

@media (min-width: 900px) {
  .giris { padding: 44px 44px 40px; }
  .giris-vitrinli { grid-template-columns: minmax(0, 1fr) auto; gap: 40px; }
  .vitrin {
    display: grid;
    grid-template-columns: repeat(4, 72px);
    gap: 18px;
    margin: -8px 12px 10px 0;
    transform: rotate(-7deg);
  }
  .vitrin-4 { grid-template-columns: repeat(2, 72px); }
  .vitrin .simge {
    box-shadow: 0 16px 30px -14px rgb(0 0 0 / 0.6), 0 0 0 5px rgb(255 255 255 / 0.14);
  }
  .vitrin .simge:nth-child(even) { transform: translateY(24px); }

  .program-ust {
    grid-template-columns: minmax(0, 1fr) 330px;
    grid-template-areas: "kimlik indir" "rozet indir";
    padding: 28px;
  }
  .program-kimlik { grid-area: kimlik; }
  .program-rozetler { grid-area: rozet; align-self: end; }
  /* bildirim formu açılınca kutu uzar; rozetler kutunun dibine kaçıp arada boşluk kalmasın (fazla yükseklik alt
     satıra gider, rozetler kimliğin hemen altında durur) */
  .program-ust:has(.bildir[open]) { grid-template-rows: auto 1fr; }
  .program-ust:has(.bildir[open]) .program-rozetler { align-self: start; }
  /* kutu iki satırı kaplar ama içeriği kadar uzar (uzun başlıkta altında boş yeşil alan kalmaz) */
  .indir-kutu { grid-area: indir; align-self: start; }
}

@media (min-width: 1024px) {
  .liste-govde.yanli { grid-template-columns: minmax(0, 1fr) 320px; }
  .yan { position: sticky; top: 16px; }
  .program-govde { grid-template-columns: minmax(0, 1fr) 330px; gap: 44px; }
  /* künye DOM'da gövdeden önce gelir; sütunlar burada sabitlenir (gövde solda geniş, künye sağda) */
  .program-govde > .sayfa-ana { grid-column: 1; grid-row: 1; }
  .program-govde > .bilgiler { grid-column: 2; grid-row: 1; }
  .bilgiler { position: sticky; top: 16px; }
  .alt-kategoriler ul { columns: 3; }
}

/* Dar ekranda çubuk başta, programın kendi düğmesi görünürken gizli; düğme ekrandan çıkarken aşağıdan girer.
   Görünüm zaman çizelgesini (view-timeline + timeline-scope) destekleyen tarayıcıda çubuk başlık kartındaki indirme
   düğmesinin ekrandan çıkışına bağlanır: düğme görünürken gizli, düğme yukarıda kaybolurken aşağıdan girer, düğme
   çıktığında tam görünür (iki "İndir" düğmesi yalnızca bu geçişte, kısmen, birlikte görünür); yalnızca kaydırma
   zaman çizelgesi olan tarayıcıda sayfanın ilk 260 px'lik kaydırmasına; hiçbiri yoksa çubuk baştan görünür.
   Gizliyken visibility: hidden (odak almaz). Sıra önemli: sonraki kural öncekinin zaman çizelgesini değiştirir. */
@keyframes yapiskan-gir {
  from { transform: translateY(110%); visibility: hidden; }
  to { transform: none; visibility: visible; }
}
@supports (animation-timeline: scroll()) {
  @media (max-width: 1023.98px) {
    .yapiskan {
      animation: yapiskan-gir linear both;
      animation-timeline: scroll(root block);
      animation-range: 0 260px;
    }
  }
}
@supports (timeline-scope: --a) and (animation-timeline: view()) {
  @media (max-width: 1023.98px) {
    .sayfa-program { timeline-scope: --indir-ust; }
    .program-ust .indir { view-timeline-name: --indir-ust; }
    .yapiskan {
      animation-timeline: --indir-ust;
      animation-range: exit 0% exit 100%;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .yapiskan { animation: none; }
}

@media print {
  .ust, .alt, .paylas, .paylas-alt, .ilgili, .sayfalama, .yan, .yapiskan { display: none; }
  body { background: #fff; color: #000; }
}

/* Kategori açıklaması (site ayarlarındaki kategori bilgisi; yalnızca 1. sayfada). */
.kategori-aciklama { max-width: 65ch; margin: 0.6rem 0 0; font-size: 1.05rem; line-height: 1.6; }
