/* ==========================================================================
   OkuYorum — tasarım sistemi
   Editoryal, kâğıt hissi veren sıcak bir arayüz. Açık ve koyu tema.
   Tek dosya; derleme adımı yok, paylaşımlı hostingde olduğu gibi çalışır.
   ========================================================================== */

/* ---------------------------------------------------------------- Değişkenler */
:root {
  --ana:        #7c5cff;
  --ana-koyu:   #6344e8;
  --ana-acik:   #9a80ff;
  --ana-soluk:  #f1edff;

  --kagit:      #fdfcfa;
  --yuzey:      #ffffff;
  --yuzey-2:    #f6f5f2;
  --yuzey-3:    #eeece7;

  --metin:      #1f2124;
  --metin-2:    #5b6068;
  --metin-3:    #8d939c;

  --cizgi:      #e6e3dd;
  --cizgi-2:    #d5d1c9;

  --basari:     #16a34a;
  --uyari:      #d97706;
  --hata:       #dc2626;
  --bilgi:      #0284c7;
  --altin:      #f59e0b;

  --golge-1: 0 1px 2px rgba(28, 25, 20, .06);
  --golge-2: 0 2px 8px rgba(28, 25, 20, .08);
  --golge-3: 0 8px 28px rgba(28, 25, 20, .12);
  --golge-4: 0 20px 50px rgba(28, 25, 20, .18);

  --r-s:  6px;
  --r-m:  10px;
  --r-l:  16px;
  --r-xl: 24px;

  --gen: 1180px;
  --ust-yuk: 60px;

  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-baslik: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  --gecis: 160ms cubic-bezier(.4, 0, .2, 1);
}

:root[data-tema="koyu"] {
  --kagit:     #14151a;
  --yuzey:     #1c1e25;
  --yuzey-2:   #24272f;
  --yuzey-3:   #2e323b;

  --metin:     #e9eaee;
  --metin-2:   #a8adb8;
  --metin-3:   #767c88;

  --cizgi:     #2e323b;
  --cizgi-2:   #3c414c;

  --ana-soluk: #241f45;

  --golge-1: 0 1px 2px rgba(0, 0, 0, .3);
  --golge-2: 0 2px 8px rgba(0, 0, 0, .35);
  --golge-3: 0 8px 28px rgba(0, 0, 0, .45);
  --golge-4: 0 20px 50px rgba(0, 0, 0, .55);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) {
    --kagit:     #14151a;
    --yuzey:     #1c1e25;
    --yuzey-2:   #24272f;
    --yuzey-3:   #2e323b;
    --metin:     #e9eaee;
    --metin-2:   #a8adb8;
    --metin-3:   #767c88;
    --cizgi:     #2e323b;
    --cizgi-2:   #3c414c;
    --ana-soluk: #241f45;
    --golge-1: 0 1px 2px rgba(0, 0, 0, .3);
    --golge-2: 0 2px 8px rgba(0, 0, 0, .35);
    --golge-3: 0 8px 28px rgba(0, 0, 0, .45);
    --golge-4: 0 20px 50px rgba(0, 0, 0, .55);
  }
}

/* ------------------------------------------------------------------ Sıfırlama */
*, *::before, *::after { box-sizing: border-box; }

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

body {
  margin: 0;
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--metin);
  background: var(--kagit);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: var(--ana); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4, h5 { margin: 0 0 .5em; line-height: 1.25; font-weight: 700; }
h1 { font-size: 1.75rem; }
h2 { font-size: 1.35rem; }
h3 { font-size: 1.1rem; }
h4 { font-size: 1rem; }
p  { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

hr { border: 0; border-top: 1px solid var(--cizgi); margin: 1.5rem 0; }

::selection { background: var(--ana); color: #fff; }

:focus-visible {
  outline: 2px solid var(--ana);
  outline-offset: 2px;
  border-radius: var(--r-s);
}

/* ------------------------------------------------------------------ Düzen */
.kap { width: 100%; max-width: var(--gen); margin: 0 auto; padding: 0 16px; }
.kap-dar { max-width: 760px; }
.kap-orta { max-width: 940px; }

.izgara { display: grid; gap: 24px; }
.izgara-yan { grid-template-columns: minmax(0, 1fr) 300px; }
.izgara-yan-sol { grid-template-columns: 250px minmax(0, 1fr); }
.izgara-3 { grid-template-columns: 220px minmax(0, 1fr) 280px; }

.yigin { display: flex; flex-direction: column; gap: 16px; }
.satir { display: flex; align-items: center; gap: 10px; }
.satir-arasi { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sar { flex-wrap: wrap; }
.buyu { flex: 1 1 auto; min-width: 0; }

.bosluk-s { height: 8px; } .bosluk-m { height: 20px; } .bosluk-l { height: 40px; }

/* ------------------------------------------------------------------ Üst çubuk */
.ust {
  position: sticky; top: 0; z-index: 100;
  height: var(--ust-yuk);
  background: color-mix(in srgb, var(--yuzey) 88%, transparent);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--cizgi);
}
.ust-ic { display: flex; align-items: center; gap: 14px; height: 100%; }

.logo {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-baslik);
  font-size: 1.32rem; font-weight: 700; letter-spacing: -.02em;
  color: var(--metin); text-decoration: none; white-space: nowrap;
}
.logo:hover { text-decoration: none; }
.logo-im {
  width: 30px; height: 30px; border-radius: 9px; flex: none;
  background: linear-gradient(135deg, var(--ana), var(--ana-acik));
  color: #fff; display: grid; place-items: center;
  font-size: 15px; font-weight: 800; font-family: var(--font);
}

.ust-menu { display: flex; gap: 2px; margin-left: 6px; }
.ust-menu a {
  padding: 7px 12px; border-radius: var(--r-m);
  color: var(--metin-2); font-weight: 500; font-size: .92rem;
  transition: var(--gecis);
}
.ust-menu a:hover { background: var(--yuzey-2); color: var(--metin); text-decoration: none; }
.ust-menu a.aktif { color: var(--ana); background: var(--ana-soluk); }

.ust-sag { display: flex; align-items: center; gap: 4px; margin-left: auto; }

/* Arama */
.arama-kutu { position: relative; flex: 1 1 340px; max-width: 420px; }
.arama-kutu input {
  width: 100%; height: 38px; padding: 0 36px 0 38px;
  border: 1px solid var(--cizgi); border-radius: 999px;
  background: var(--yuzey-2); color: var(--metin);
  transition: var(--gecis);
}
.arama-kutu input:focus {
  outline: none; background: var(--yuzey);
  border-color: var(--ana); box-shadow: 0 0 0 3px var(--ana-soluk);
}
.arama-kutu .ikon-sol {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--metin-3); pointer-events: none;
}
.arama-sonuc {
  position: absolute; top: calc(100% + 8px); left: 0; right: 0;
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: var(--r-l); box-shadow: var(--golge-3);
  max-height: 70vh; overflow-y: auto; padding: 6px; display: none; z-index: 200;
}
.arama-sonuc.acik { display: block; }
.arama-sonuc .grup-ad {
  font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--metin-3); padding: 10px 12px 4px;
}
.arama-oge {
  display: flex; gap: 10px; align-items: center;
  padding: 8px 10px; border-radius: var(--r-m); color: var(--metin);
}
.arama-oge:hover, .arama-oge.secili { background: var(--yuzey-2); text-decoration: none; }
.arama-oge img { width: 34px; height: 50px; object-fit: cover; border-radius: 4px; flex: none; background: var(--yuzey-3); }
.arama-oge .yuvarlak { width: 34px; height: 34px; border-radius: 50%; }
.arama-oge b { display: block; font-size: .9rem; font-weight: 600; }
.arama-oge small { color: var(--metin-3); font-size: .8rem; }

/* Simge düğmeler */
.simge-dugme {
  position: relative;
  width: 38px; height: 38px; border-radius: var(--r-m);
  display: grid; place-items: center;
  background: none; border: 0; cursor: pointer;
  color: var(--metin-2); transition: var(--gecis);
}
.simge-dugme:hover { background: var(--yuzey-2); color: var(--metin); }
.simge-dugme .rozet {
  position: absolute; top: 4px; right: 4px;
  min-width: 17px; height: 17px; padding: 0 4px;
  border-radius: 999px; background: var(--hata); color: #fff;
  font-size: .65rem; font-weight: 700; line-height: 17px; text-align: center;
  border: 2px solid var(--yuzey);
}

/* ------------------------------------------------------------------ Düğmeler */
.dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 38px; padding: 0 16px;
  border: 1px solid transparent; border-radius: var(--r-m);
  font-size: .92rem; font-weight: 600; white-space: nowrap;
  cursor: pointer; transition: var(--gecis); text-decoration: none;
  background: var(--ana); color: #fff;
}
.dugme:hover { background: var(--ana-koyu); text-decoration: none; color: #fff; }
.dugme:active { transform: translateY(1px); }
.dugme:disabled, .dugme.pasif { opacity: .5; pointer-events: none; }

.dugme-ikincil { background: var(--yuzey-2); color: var(--metin); border-color: var(--cizgi); }
.dugme-ikincil:hover { background: var(--yuzey-3); color: var(--metin); }

.dugme-cerceve { background: transparent; color: var(--ana); border-color: var(--ana); }
.dugme-cerceve:hover { background: var(--ana-soluk); color: var(--ana); }

.dugme-sade { background: transparent; color: var(--metin-2); }
.dugme-sade:hover { background: var(--yuzey-2); color: var(--metin); }

.dugme-tehlike { background: var(--hata); }
.dugme-tehlike:hover { background: #b91c1c; }

.dugme-s { height: 31px; padding: 0 11px; font-size: .84rem; border-radius: var(--r-s); }
.dugme-l { height: 46px; padding: 0 24px; font-size: 1rem; border-radius: var(--r-m); }

/* Tam genişlikteki düğmeler dar sütunlarda taşmasın: metin sarabilsin. */
.dugme-tam {
  width: 100%;
  white-space: normal;
  height: auto;
  min-height: 38px;
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 1.35;
  text-align: center;
}
.dugme-tam.dugme-l { min-height: 46px; }

.dugme-grup { display: inline-flex; border: 1px solid var(--cizgi); border-radius: var(--r-m); overflow: hidden; background: var(--yuzey-2); }
.dugme-grup > * { border: 0; border-radius: 0; background: transparent; height: 34px; padding: 0 13px; font-size: .86rem; color: var(--metin-2); cursor: pointer; }
.dugme-grup > *:not(:last-child) { border-right: 1px solid var(--cizgi); }
.dugme-grup > *.aktif { background: var(--yuzey); color: var(--ana); font-weight: 600; }
.dugme-grup > *:hover:not(.aktif) { background: var(--yuzey-3); text-decoration: none; }

/* ------------------------------------------------------------------ Kartlar */
.kart {
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-l);
  box-shadow: var(--golge-1);
}
.kart-ic { padding: 18px; }
.kart-ust {
  padding: 14px 18px; border-bottom: 1px solid var(--cizgi);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.kart-ust h2, .kart-ust h3 { margin: 0; font-size: 1rem; }
.kart-alt { padding: 12px 18px; border-top: 1px solid var(--cizgi); background: var(--yuzey-2); border-radius: 0 0 var(--r-l) var(--r-l); }

.bolum-baslik {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  margin-bottom: 14px;
}
.bolum-baslik h2 { margin: 0; font-size: 1.15rem; font-family: var(--font-baslik); }
.bolum-baslik a { font-size: .85rem; font-weight: 600; }

/* ------------------------------------------------------------------ Kitap kartı */
.kitap-izgara {
  display: grid; gap: 20px 16px;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}
.kitap-izgara.sik { grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 16px 12px; }

.kitap-kart { display: block; color: inherit; }
.kitap-kart:hover { text-decoration: none; }
.kitap-kart:hover .kapak { transform: translateY(-3px); box-shadow: var(--golge-3); }
.kitap-kart:hover .kitap-ad { color: var(--ana); }

.kapak {
  position: relative;
  aspect-ratio: 2 / 3;
  border-radius: var(--r-s);
  overflow: hidden;
  background: var(--yuzey-3);
  box-shadow: var(--golge-2);
  transition: var(--gecis);
}
.kapak img { width: 100%; height: 100%; object-fit: cover; }
.kapak::after {
  /* Kitap sırtı hissi */
  content: ''; position: absolute; inset: 0 auto 0 0; width: 5px;
  background: linear-gradient(90deg, rgba(0,0,0,.16), rgba(0,0,0,0));
  pointer-events: none;
}
.kapak-l { width: 190px; }
.kapak-m { width: 118px; }
.kapak-s { width: 62px; }
.kapak-xs { width: 44px; }

.kitap-ad {
  margin: 9px 0 2px; font-size: .88rem; font-weight: 600; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: var(--gecis);
}
.kitap-yazar {
  font-size: .8rem; color: var(--metin-2);
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}

.kapak-etiket {
  position: absolute; top: 6px; left: 6px;
  padding: 2px 7px; border-radius: 999px;
  background: rgba(0,0,0,.72); color: #fff;
  font-size: .68rem; font-weight: 700; backdrop-filter: blur(4px);
}
.kapak-durum { position: absolute; bottom: 0; left: 0; right: 0; padding: 4px 7px; font-size: .68rem; font-weight: 700; color: #fff; text-align: center; }
.kapak-durum.okudu { background: rgba(22,163,74,.92); }
.kapak-durum.okuyor { background: rgba(2,132,199,.92); }
.kapak-durum.okuyacak { background: rgba(217,119,6,.92); }

/* ------------------------------------------------------------------ Puan */
.puan { display: inline-flex; align-items: center; gap: 4px; font-size: .82rem; color: var(--metin-2); }
.puan b { color: var(--metin); font-weight: 700; }
.yildiz { color: var(--altin); display: inline-flex; gap: 1px; }
.yildiz svg { width: 13px; height: 13px; }

.puan-secici { display: flex; gap: 3px; direction: rtl; }
.puan-secici input { position: absolute; opacity: 0; width: 0; height: 0; }
.puan-secici label {
  cursor: pointer; color: var(--cizgi-2); transition: var(--gecis);
  display: grid; place-items: center; width: 26px; height: 26px;
}
.puan-secici label svg { width: 22px; height: 22px; }
.puan-secici label:hover,
.puan-secici label:hover ~ label,
.puan-secici input:checked ~ label { color: var(--altin); }

.dagilim-satir { display: grid; grid-template-columns: 22px 1fr 42px; align-items: center; gap: 8px; font-size: .78rem; color: var(--metin-2); }
.dagilim-cubuk { height: 7px; background: var(--yuzey-3); border-radius: 999px; overflow: hidden; }
.dagilim-dolu { height: 100%; background: var(--altin); border-radius: 999px; transition: width .5s ease; }

/* ------------------------------------------------------------------ Rozet/etiket */
.etiket {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 9px; border-radius: 999px;
  background: var(--yuzey-2); border: 1px solid var(--cizgi);
  font-size: .76rem; font-weight: 600; color: var(--metin-2);
}
.etiket:hover { text-decoration: none; background: var(--yuzey-3); }
.etiket-ana { background: var(--ana-soluk); color: var(--ana); border-color: transparent; }
.etiket-basari { background: color-mix(in srgb, var(--basari) 12%, transparent); color: var(--basari); border-color: transparent; }
.etiket-uyari { background: color-mix(in srgb, var(--uyari) 14%, transparent); color: var(--uyari); border-color: transparent; }
.etiket-hata { background: color-mix(in srgb, var(--hata) 12%, transparent); color: var(--hata); border-color: transparent; }
.etiket-bilgi { background: color-mix(in srgb, var(--bilgi) 12%, transparent); color: var(--bilgi); border-color: transparent; }
.etiket-bot { background: repeating-linear-gradient(45deg, var(--yuzey-3), var(--yuzey-3) 4px, var(--yuzey-2) 4px, var(--yuzey-2) 8px); color: var(--metin-2); }

/* ------------------------------------------------------------------ Avatar */
.avatar { border-radius: 50%; object-fit: cover; background: var(--yuzey-3); flex: none; }
.avatar-xs { width: 24px; height: 24px; }
.avatar-s  { width: 32px; height: 32px; }
.avatar-m  { width: 42px; height: 42px; }
.avatar-l  { width: 68px; height: 68px; }
.avatar-xl { width: 116px; height: 116px; border: 4px solid var(--yuzey); box-shadow: var(--golge-2); }

.avatar-yigin { display: flex; }
.avatar-yigin .avatar { border: 2px solid var(--yuzey); margin-left: -9px; }
.avatar-yigin .avatar:first-child { margin-left: 0; }

/* ------------------------------------------------------------------ İleti kartı */
.ileti {
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: var(--r-l); padding: 16px 18px;
  transition: var(--gecis);
}
.ileti:hover { border-color: var(--cizgi-2); }
.ileti + .ileti { margin-top: 14px; }

.ileti-ust { display: flex; gap: 11px; margin-bottom: 11px; }
.ileti-kim { min-width: 0; flex: 1; }
.ileti-ad { font-weight: 650; font-size: .93rem; color: var(--metin); }
.ileti-ad:hover { color: var(--ana); }
.ileti-meta { font-size: .8rem; color: var(--metin-3); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ileti-meta a { color: var(--metin-3); }
.ileti-meta a:hover { color: var(--ana); }

.ileti-govde { font-size: .95rem; line-height: 1.68; color: var(--metin); overflow-wrap: break-word; }
.ileti-govde a.mention, .ileti-govde a.hashtag { font-weight: 600; }

.ileti-baslik { font-family: var(--font-baslik); font-size: 1.12rem; font-weight: 700; margin: 0 0 6px; }
.ileti-baslik a { color: var(--metin); }
.ileti-baslik a:hover { color: var(--ana); }

.ileti-kitap {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 11px; margin: 12px 0;
  background: var(--yuzey-2); border: 1px solid var(--cizgi);
  border-radius: var(--r-m);
}
.ileti-kitap:hover { text-decoration: none; border-color: var(--cizgi-2); }
.ileti-kitap img { width: 44px; border-radius: 4px; flex: none; box-shadow: var(--golge-1); }
.ileti-kitap b { display: block; font-size: .88rem; color: var(--metin); line-height: 1.35; }
.ileti-kitap small { color: var(--metin-2); font-size: .8rem; }

.alinti-govde {
  font-family: var(--font-baslik);
  font-size: 1.05rem; line-height: 1.75; font-style: italic;
  padding: 4px 0 4px 16px;
  border-left: 3px solid var(--ana);
  color: var(--metin);
}

.ileti-gorsel { margin: 12px 0; border-radius: var(--r-m); overflow: hidden; border: 1px solid var(--cizgi); }

.spoiler-ort {
  position: relative; border-radius: var(--r-m); overflow: hidden;
  background: var(--yuzey-2); border: 1px dashed var(--cizgi-2);
}
.spoiler-ort .spoiler-ic { filter: blur(6px); user-select: none; padding: 12px; pointer-events: none; }
.spoiler-ort .spoiler-uyari {
  position: absolute; inset: 0; display: grid; place-items: center;
  cursor: pointer; font-size: .85rem; font-weight: 600; color: var(--metin-2);
  background: color-mix(in srgb, var(--yuzey) 55%, transparent);
}
.spoiler-ort.acik .spoiler-ic { filter: none; user-select: auto; pointer-events: auto; }
.spoiler-ort.acik .spoiler-uyari { display: none; }

.ileti-eylem { display: flex; align-items: center; gap: 2px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--cizgi); }
.eylem {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; border: 0; border-radius: var(--r-m);
  background: none; color: var(--metin-2); font-size: .84rem; font-weight: 500;
  cursor: pointer; transition: var(--gecis);
}
.eylem:hover { background: var(--yuzey-2); color: var(--metin); text-decoration: none; }
.eylem.aktif { color: var(--hata); }
.eylem.aktif svg { fill: currentColor; }
.eylem svg { width: 17px; height: 17px; }

/* ------------------------------------------------------------------ Yorumlar */
.yorum { display: flex; gap: 10px; padding: 12px 0; }
.yorum + .yorum { border-top: 1px solid var(--cizgi); }
.yorum-govde { flex: 1; min-width: 0; }
.yorum-balon { background: var(--yuzey-2); border-radius: var(--r-m); padding: 9px 13px; }
.yorum-ad { font-weight: 650; font-size: .87rem; }
.yorum-metin { font-size: .9rem; line-height: 1.6; margin-top: 2px; overflow-wrap: break-word; }
.yorum-alt { display: flex; gap: 12px; margin-top: 5px; padding-left: 4px; font-size: .78rem; color: var(--metin-3); }
.yorum-alt button { background: none; border: 0; padding: 0; color: var(--metin-3); cursor: pointer; font-size: .78rem; font-weight: 600; }
.yorum-alt button:hover { color: var(--ana); }
.yorum-yanitlar { margin-left: 42px; margin-top: 8px; }
.yorum-yanitlar .yorum { padding: 8px 0; border-top: 0; }

/* ------------------------------------------------------------------ Formlar */
.alan { margin-bottom: 16px; }
.alan > label, .alan-etiket {
  display: block; margin-bottom: 6px;
  font-size: .86rem; font-weight: 600; color: var(--metin);
}
.alan-ipucu { font-size: .8rem; color: var(--metin-3); margin-top: 5px; }
.alan-hata { font-size: .8rem; color: var(--hata); margin-top: 5px; font-weight: 500; }

input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="url"], input[type="date"], input[type="search"], input[type="tel"],
select, textarea {
  width: 100%; padding: 9px 12px;
  border: 1px solid var(--cizgi-2); border-radius: var(--r-m);
  background: var(--yuzey); color: var(--metin);
  transition: var(--gecis);
}
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--ana);
  box-shadow: 0 0 0 3px var(--ana-soluk);
}
input::placeholder, textarea::placeholder { color: var(--metin-3); }
input[aria-invalid="true"], .hatali { border-color: var(--hata) !important; }
textarea { resize: vertical; min-height: 100px; line-height: 1.6; }
select { appearance: none; padding-right: 34px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238d939c' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}

.onay { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; font-size: .9rem; }
.onay input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--ana); cursor: pointer; flex: none; }

.anahtar { position: relative; display: inline-block; width: 42px; height: 24px; flex: none; }
.anahtar input { opacity: 0; width: 0; height: 0; position: absolute; }
.anahtar .kaydir {
  position: absolute; inset: 0; cursor: pointer;
  background: var(--cizgi-2); border-radius: 999px; transition: var(--gecis);
}
.anahtar .kaydir::before {
  content: ''; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px;
  background: #fff; border-radius: 50%; transition: var(--gecis); box-shadow: var(--golge-1);
}
.anahtar input:checked + .kaydir { background: var(--ana); }
.anahtar input:checked + .kaydir::before { transform: translateX(18px); }

/* ------------------------------------------------------------------ Sekmeler */
.sekmeler {
  display: flex; gap: 2px; overflow-x: auto;
  border-bottom: 1px solid var(--cizgi); margin-bottom: 20px;
  scrollbar-width: none;
}
.sekmeler::-webkit-scrollbar { display: none; }
.sekmeler a, .sekmeler button {
  padding: 11px 15px; border: 0; background: none; cursor: pointer;
  color: var(--metin-2); font-size: .92rem; font-weight: 600; white-space: nowrap;
  border-bottom: 2px solid transparent; margin-bottom: -1px; transition: var(--gecis);
}
.sekmeler a:hover, .sekmeler button:hover { color: var(--metin); text-decoration: none; }
.sekmeler .aktif { color: var(--ana); border-bottom-color: var(--ana); }
.sekmeler .sayi { font-size: .78rem; color: var(--metin-3); font-weight: 600; margin-left: 4px; }

/* ------------------------------------------------------------------ Uyarılar */
.uyari-kutu {
  display: flex; gap: 11px; align-items: flex-start;
  padding: 13px 16px; border-radius: var(--r-m);
  border: 1px solid var(--cizgi); background: var(--yuzey-2);
  font-size: .9rem; margin-bottom: 16px;
}
.uyari-kutu svg { flex: none; width: 18px; height: 18px; margin-top: 1px; }
.uyari-basari { background: color-mix(in srgb, var(--basari) 9%, transparent); border-color: color-mix(in srgb, var(--basari) 28%, transparent); color: var(--basari); }
.uyari-hata   { background: color-mix(in srgb, var(--hata) 9%, transparent);   border-color: color-mix(in srgb, var(--hata) 28%, transparent);   color: var(--hata); }
.uyari-uyari  { background: color-mix(in srgb, var(--uyari) 10%, transparent); border-color: color-mix(in srgb, var(--uyari) 30%, transparent); color: var(--uyari); }
.uyari-bilgi  { background: color-mix(in srgb, var(--bilgi) 9%, transparent);  border-color: color-mix(in srgb, var(--bilgi) 28%, transparent);  color: var(--bilgi); }

.bildirim-yigini {
  position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
  z-index: 1000; display: flex; flex-direction: column; gap: 8px; align-items: center;
  pointer-events: none; width: calc(100% - 32px); max-width: 440px;
}
.bildirim-balon {
  pointer-events: auto;
  padding: 11px 18px; border-radius: 999px;
  background: var(--metin); color: var(--kagit);
  font-size: .88rem; font-weight: 500; box-shadow: var(--golge-3);
  animation: balonGir .28s cubic-bezier(.2,.9,.3,1.2);
  max-width: 100%;
}
.bildirim-balon.hata { background: var(--hata); color: #fff; }
.bildirim-balon.basari { background: var(--basari); color: #fff; }
@keyframes balonGir { from { opacity: 0; transform: translateY(14px) scale(.94); } }

/* ------------------------------------------------------------------ Boş durum */
.bos {
  text-align: center; padding: 52px 24px; color: var(--metin-2);
}
.bos-ikon {
  width: 62px; height: 62px; margin: 0 auto 14px;
  display: grid; place-items: center; border-radius: 50%;
  background: var(--yuzey-2); color: var(--metin-3);
}
.bos h3 { color: var(--metin); font-size: 1.05rem; margin-bottom: 5px; }
.bos p { font-size: .9rem; max-width: 380px; margin: 0 auto 16px; }

/* ------------------------------------------------------------------ Sayfalama */
.sayfalama { display: flex; justify-content: center; align-items: center; gap: 5px; margin: 28px 0; flex-wrap: wrap; }
.sayfalama a, .sayfalama span {
  min-width: 36px; height: 36px; padding: 0 10px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--cizgi); border-radius: var(--r-m);
  color: var(--metin-2); font-size: .88rem; font-weight: 600; background: var(--yuzey);
}
.sayfalama a:hover { border-color: var(--ana); color: var(--ana); text-decoration: none; }
.sayfalama .aktif { background: var(--ana); color: #fff; border-color: var(--ana); }
.sayfalama .bosluk { border: 0; background: none; color: var(--metin-3); min-width: 20px; }

/* ------------------------------------------------------------------ Profil */
.profil-kapak {
  height: 220px; border-radius: var(--r-l);
  background: linear-gradient(120deg, var(--ana), var(--ana-acik) 55%, #ff9a6c);
  background-size: cover; background-position: center;
  position: relative; overflow: hidden;
}
.profil-ust { display: flex; gap: 20px; align-items: flex-end; margin-top: -52px; padding: 0 20px; position: relative; }
.profil-bilgi { flex: 1; min-width: 0; padding-bottom: 6px; }
.profil-ad { font-size: 1.45rem; font-weight: 700; margin: 0; line-height: 1.2; }
.profil-nick { color: var(--metin-2); font-size: .95rem; }
.profil-bio { margin: 10px 0 0; font-size: .93rem; line-height: 1.6; max-width: 620px; }

.sayac-satir { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 14px; }
.sayac { text-align: center; }
.sayac b { display: block; font-size: 1.22rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.sayac span { font-size: .76rem; color: var(--metin-3); text-transform: uppercase; letter-spacing: .04em; }
.sayac:hover b { color: var(--ana); }

/* ------------------------------------------------------------------ Kitap detay */
.kitap-kahraman { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 32px; }
.kitap-baslik { font-family: var(--font-baslik); font-size: 1.9rem; line-height: 1.2; margin: 0 0 6px; }
.kitap-altbaslik { font-size: 1.05rem; color: var(--metin-2); font-weight: 400; margin-bottom: 10px; }
.kitap-yazar-l { font-size: 1.05rem; }
.kitap-kunye { display: grid; grid-template-columns: auto 1fr; gap: 7px 16px; font-size: .88rem; margin: 18px 0; }
.kitap-kunye dt { color: var(--metin-3); }
.kitap-kunye dd { margin: 0; color: var(--metin); }

.durum-dugmeler { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.durum-dugme {
  flex: 1 1 auto; min-width: 104px;
  height: 42px; border-radius: var(--r-m); border: 1px solid var(--cizgi-2);
  background: var(--yuzey); color: var(--metin-2);
  font-size: .88rem; font-weight: 600; cursor: pointer; transition: var(--gecis);
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.durum-dugme:hover { border-color: var(--ana); color: var(--ana); }
.durum-dugme.aktif { background: var(--ana); border-color: var(--ana); color: #fff; }

.ilerleme-cubuk { height: 8px; background: var(--yuzey-3); border-radius: 999px; overflow: hidden; }
.ilerleme-dolu { height: 100%; background: linear-gradient(90deg, var(--ana), var(--ana-acik)); border-radius: 999px; transition: width .4s ease; }

/* ------------------------------------------------------------------ Yatay kaydırma */
.serit { display: flex; gap: 16px; overflow-x: auto; padding: 4px 4px 14px; scroll-snap-type: x proximity; }
.serit::-webkit-scrollbar { height: 7px; }
.serit::-webkit-scrollbar-track { background: transparent; }
.serit::-webkit-scrollbar-thumb { background: var(--cizgi-2); border-radius: 999px; }
.serit > * { flex: none; width: 132px; scroll-snap-align: start; }

/* ------------------------------------------------------------------ Yan sütun */
.yan-kutu { margin-bottom: 18px; }
.yan-kutu-baslik {
  font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--metin-3); margin-bottom: 10px;
}
.yan-liste { display: flex; flex-direction: column; gap: 2px; }
.yan-oge {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px;
  border-radius: var(--r-m); color: var(--metin); transition: var(--gecis);
}
.yan-oge:hover { background: var(--yuzey-2); text-decoration: none; }
.yan-oge b { font-size: .87rem; font-weight: 600; display: block; line-height: 1.3; }
.yan-oge small { font-size: .78rem; color: var(--metin-3); }

/* ------------------------------------------------------------------ Modal */
.modal-perde {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(15, 14, 12, .55); backdrop-filter: blur(3px);
  display: none; align-items: center; justify-content: center; padding: 20px;
}
.modal-perde.acik { display: flex; animation: soluk .18s ease; }
@keyframes soluk { from { opacity: 0; } }
.modal {
  background: var(--yuzey); border-radius: var(--r-l);
  box-shadow: var(--golge-4);
  width: 100%; max-width: 520px; max-height: 88vh; overflow-y: auto;
  animation: modalGir .22s cubic-bezier(.2,.9,.3,1.05);
}
@keyframes modalGir { from { opacity: 0; transform: translateY(18px) scale(.97); } }
.modal-ust { padding: 16px 20px; border-bottom: 1px solid var(--cizgi); display: flex; align-items: center; justify-content: space-between; }
.modal-ust h3 { margin: 0; font-size: 1.05rem; }
.modal-ic { padding: 20px; }
.modal-alt { padding: 14px 20px; border-top: 1px solid var(--cizgi); display: flex; justify-content: flex-end; gap: 8px; background: var(--yuzey-2); border-radius: 0 0 var(--r-l) var(--r-l); }

/* Açılır menü */
.acilir { position: relative; }
.acilir-menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 200px;
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: var(--r-m); box-shadow: var(--golge-3);
  padding: 5px; z-index: 250; display: none;
}
.acilir-menu.acik { display: block; animation: menuGir .14s ease; }
@keyframes menuGir { from { opacity: 0; transform: translateY(-5px); } }
.acilir-menu a, .acilir-menu button {
  display: flex; align-items: center; gap: 9px; width: 100%;
  padding: 8px 11px; border: 0; border-radius: var(--r-s);
  background: none; color: var(--metin); font-size: .89rem; text-align: left; cursor: pointer;
}
.acilir-menu a:hover, .acilir-menu button:hover { background: var(--yuzey-2); text-decoration: none; }
.acilir-menu .ayirac { height: 1px; background: var(--cizgi); margin: 5px 0; }
.acilir-menu .tehlike { color: var(--hata); }

/* ------------------------------------------------------------------ Alt bilgi */
.alt {
  margin-top: 56px; padding: 36px 0 28px;
  border-top: 1px solid var(--cizgi); background: var(--yuzey-2);
  font-size: .87rem; color: var(--metin-2);
}
.alt-izgara { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 32px; }
.alt h4 { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--metin-3); margin-bottom: 10px; }
.alt a { color: var(--metin-2); display: block; padding: 3px 0; }
.alt a:hover { color: var(--ana); }
.alt-son { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--cizgi); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .82rem; color: var(--metin-3); }

/* ------------------------------------------------------------------ Grafik */
.grafik { display: flex; align-items: flex-end; gap: 3px; height: 120px; }
.grafik-cubuk { flex: 1; background: var(--ana); border-radius: 3px 3px 0 0; min-height: 2px; transition: var(--gecis); position: relative; opacity: .85; }
.grafik-cubuk:hover { opacity: 1; }
.grafik-cubuk[data-deger]:hover::after {
  content: attr(data-deger); position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  background: var(--metin); color: var(--kagit); padding: 3px 7px; border-radius: 5px;
  font-size: .72rem; white-space: nowrap; z-index: 10;
}

/* ------------------------------------------------------------------ Yardımcılar */
.gizle { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.orta { text-align: center; }
.sag { text-align: right; }
.kucuk { font-size: .84rem; }
.minik { font-size: .78rem; }
.soluk { color: var(--metin-2); }
.cok-soluk { color: var(--metin-3); }
.kalin { font-weight: 700; }
.mono { font-family: var(--font-mono); font-size: .86em; }
.tek-satir { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iki-satir { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.uc-satir { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.serif { font-family: var(--font-baslik); }
.mb0 { margin-bottom: 0 !important; }
.mt0 { margin-top: 0 !important; }
.mt-s { margin-top: 8px; } .mt-m { margin-top: 18px; } .mt-l { margin-top: 34px; }
.mb-s { margin-bottom: 8px; } .mb-m { margin-bottom: 18px; } .mb-l { margin-bottom: 34px; }

.yukleniyor {
  display: inline-block; width: 15px; height: 15px;
  border: 2px solid var(--cizgi-2); border-top-color: var(--ana);
  border-radius: 50%; animation: don .7s linear infinite;
}
@keyframes don { to { transform: rotate(360deg); } }

.iskelet {
  background: linear-gradient(90deg, var(--yuzey-2) 25%, var(--yuzey-3) 50%, var(--yuzey-2) 75%);
  background-size: 200% 100%; animation: parla 1.4s infinite; border-radius: var(--r-s);
}
@keyframes parla { to { background-position: -200% 0; } }

/* ------------------------------------------------------------------ Tablo */
.tablo { width: 100%; border-collapse: collapse; font-size: .89rem; }
.tablo th {
  text-align: left; padding: 10px 12px; font-size: .76rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; color: var(--metin-3);
  border-bottom: 1px solid var(--cizgi); white-space: nowrap;
}
.tablo td { padding: 11px 12px; border-bottom: 1px solid var(--cizgi); vertical-align: middle; }
.tablo tbody tr:hover { background: var(--yuzey-2); }
.tablo-sarmal { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ------------------------------------------------------------------ Mobil */
.mobil-menu { display: none; }
.mobil-alt-menu { display: none; }

@media (max-width: 980px) {
  .izgara-yan, .izgara-yan-sol, .izgara-3 { grid-template-columns: minmax(0, 1fr); }
  .yan-sutun { display: none; }
  .kitap-kahraman { grid-template-columns: 150px minmax(0, 1fr); gap: 20px; }
  .alt-izgara { grid-template-columns: 1fr 1fr; gap: 24px; }
}

@media (max-width: 720px) {
  body { font-size: 14.5px; padding-bottom: 62px; }
  .ust-menu { display: none; }
  .mobil-menu { display: grid; }
  .kap { padding: 0 12px; }
  .kitap-kahraman { grid-template-columns: 1fr; }
  .kitap-kahraman .kapak-l { width: 158px; margin: 0 auto; }
  .kitap-baslik { font-size: 1.45rem; text-align: center; }
  .kitap-yazar-l, .kitap-altbaslik { text-align: center; }
  .profil-ust { flex-direction: column; align-items: center; text-align: center; margin-top: -44px; }
  .profil-kapak { height: 140px; border-radius: 0; margin: 0 -12px; }
  .sayac-satir { justify-content: center; gap: 18px; }
  .kitap-izgara { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 16px 10px; }
  .alt-izgara { grid-template-columns: 1fr; gap: 20px; }
  .ileti { padding: 14px; border-radius: var(--r-m); }
  .modal { max-width: 100%; border-radius: var(--r-l) var(--r-l) 0 0; margin-top: auto; }
  .modal-perde { align-items: flex-end; padding: 0; }

  .mobil-alt-menu {
    display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
    background: color-mix(in srgb, var(--yuzey) 94%, transparent);
    backdrop-filter: blur(12px); border-top: 1px solid var(--cizgi);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  .mobil-alt-menu a {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 5px 0; color: var(--metin-3); font-size: .66rem; font-weight: 600;
    position: relative;
  }
  .mobil-alt-menu a.aktif { color: var(--ana); }
  .mobil-alt-menu a:hover { text-decoration: none; }
  .mobil-alt-menu svg { width: 21px; height: 21px; }
  .mobil-alt-menu .rozet {
    position: absolute; top: 2px; right: 50%; margin-right: -16px;
    min-width: 15px; height: 15px; padding: 0 3px; border-radius: 999px;
    background: var(--hata); color: #fff; font-size: .6rem; line-height: 15px; text-align: center;
  }
}

@media print {
  .ust, .alt, .mobil-alt-menu, .ileti-eylem, .yan-sutun, .dugme { display: none !important; }
  body { background: #fff; color: #000; }
  .kart, .ileti { border: 1px solid #ddd; box-shadow: none; }
}

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

/* ------------------------------------------------------------ Reklam */
.reklam{margin:16px 0;text-align:center;min-height:0;overflow:hidden}
.reklam:empty{display:none}
.reklam img,.reklam iframe{max-width:100%}
.reklam-masaustu{display:block}
.reklam-mobil{display:none}
@media (max-width:760px){
  .reklam-masaustu{display:none}
  .reklam-mobil{display:block}
}

/* --------------------------------------------------------------- Sohbet */
.baglanti-dugme{background:none;border:0;padding:0 2px;font:inherit;color:inherit;
                opacity:.55;cursor:pointer;text-decoration:underline}
.baglanti-dugme:hover{opacity:1}
.mesaj-satir .mesaj-alt .baglanti-dugme{visibility:hidden}
.mesaj-satir:hover .mesaj-alt .baglanti-dugme,
.mesaj-satir:focus-within .mesaj-alt .baglanti-dugme{visibility:visible}
.tik{letter-spacing:-2px}

.yaziyor-satir{padding:4px 10px;font-size:.82rem;opacity:.7}
.yaziyor-nokta{display:inline-block;width:5px;height:5px;border-radius:50%;
               background:currentColor;margin-right:3px;animation:yaziyor 1.2s infinite}
.yaziyor-nokta:nth-child(2){animation-delay:.2s}
.yaziyor-nokta:nth-child(3){animation-delay:.4s}
@keyframes yaziyor{0%,60%,100%{opacity:.25}30%{opacity:1}}

.yanit-onizleme{display:none;align-items:center;gap:8px;padding:6px 10px;
                border-left:3px solid var(--ana);background:var(--yuzey-2);
                border-radius:var(--r-s);margin-bottom:6px;font-size:.84rem}
.yanit-onizleme.acik{display:flex}

.tepki-secici{display:none;gap:4px;padding:6px;background:var(--yuzey);
              border:1px solid var(--cizgi);border-radius:var(--r-m);
              box-shadow:var(--golge-3);position:absolute;z-index:60}
.tepki-secici.acik{display:flex}
.tepki-secici button{background:none;border:0;font-size:1.1rem;cursor:pointer;
                     padding:2px 4px;border-radius:6px}
.tepki-secici button:hover{background:var(--yuzey-2)}
