/* ============================================================================
   KÜTÜPHANE — mobil uygulamanın Kütüphane tasarımının SİTEDEKİ birebir kopyası.
   Kaynak: islamarsivi-mobil/www/styles.css (kt-/kol- blokları otomatik taşındı).
   Palet .ktapp KAPSAMINDA tutulur: main.css'in site geneli değişkenleriyle
   (--text vs.) çakışmasın diye :root'a YAZILMAZ.
   ============================================================================ */
.ktapp{
  --ivory:#F7F4EE; --ivory2:#EFEAE1; --card:#FFFFFF;
  --espresso:#2A1710; --espresso2:#3A2418; --text:#241308; --text2:#6A5A4E;
  --muted:#9C8C80; --gold:#B5651D; --goldsoft:#D4956A; --green:#3F6B58;
  --copper-dark:#8B5A2B; --copper:#B5651D; --copper-light:#D4956A;
  --border:#EAE1D5; --line:#F0EAE0;
  --sh:0 1px 2px rgba(42,23,16,.04), 0 6px 18px rgba(42,23,16,.06);
  --sh-lg:0 2px 6px rgba(42,23,16,.06), 0 16px 34px rgba(42,23,16,.13);
  font-family:'Inter',-apple-system,'Segoe UI',Roboto,sans-serif;
  letter-spacing:-.01em; color:var(--text);
  max-width:820px; margin:0 auto; padding:0 14px 56px;
}
body.kutuphane-page{background:#F7F4EE;}
.ktapp *{box-sizing:border-box;}
.ktapp button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}
.ktapp a{text-decoration:none; color:inherit;}

/* App üst çubuğu karşılığı: büyük serif başlık + bakır çizgi (app bar birebir hissi) */
.kt-pagehead{padding:18px 2px 4px;}
.kt-pagehead h1{font-family:'Playfair Display',Georgia,serif; font-size:30px; font-weight:700;
  color:var(--espresso); margin:0 0 6px; letter-spacing:.005em;}
.kt-pagehead .cizgi{width:64px; height:3px; border-radius:2px; background:var(--copper); display:block;}
.kt-breadcrumb{max-width:820px;margin:0 auto;padding:14px 16px 0;font-size:12.5px;color:#8b7d70;display:flex;gap:8px;align-items:center;}
.kt-breadcrumb a{color:#8b7d70;text-decoration:none;}
.kt-breadcrumb a:hover{color:#B5651D;}

/* ─── APP'TEN TAŞINAN BLOKLAR (islamarsivi-mobil styles.css) ─────────────── */

/* --- Kütüphane --- */
.kt-wrap{padding-bottom:30px;}

.kt-intro{display:flex; align-items:center; gap:13px; margin:14px 16px 6px; padding:15px 16px; border-radius:18px; background:linear-gradient(158deg,#3A2418,#241308); color:#F4ECD9; box-shadow:var(--sh-lg);}

.kt-intro-ic{width:44px; height:44px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:13px; background:rgba(201,122,46,.25); color:var(--goldsoft); font-size:23px;}

.kt-intro-b{display:flex; flex-direction:column;}

.kt-intro-b b{font-family:'Marcellus',serif; font-size:17px;}

.kt-intro-b small{font-size:12px; color:#C9B79E; margin-top:2px;}

.kt-gsec{font-size:11px; letter-spacing:1.2px; color:var(--copper-dark); font-weight:700; margin:20px 18px 8px; text-transform:uppercase;}

.kt-clist{display:flex; flex-direction:column; gap:8px; padding:0 14px;}

.kt-cat{display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:13px 14px; border-radius:15px; background:var(--card); border:1px solid var(--line); box-shadow:var(--sh);}

.kt-cat-ic{width:38px; height:38px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:11px; background:linear-gradient(135deg,rgba(201,122,46,.14),rgba(212,149,106,.22)); color:var(--copper-dark); font-size:19px;}

.kt-cat-b{flex:1; display:flex; flex-direction:column; min-width:0;}

.kt-cat-b b{font-size:15px; color:var(--espresso); font-weight:600;}

.kt-cat-b small{font-size:12px; color:var(--muted); margin-top:1px;}

.kt-cat-ch{color:var(--muted); font-size:18px; flex-shrink:0;}

.kt-khead{padding:16px 18px 6px;}

.kt-khead-t{display:block; font-family:'Marcellus',serif; font-size:22px; color:var(--espresso);}

.kt-khead-s{display:block; font-size:12.5px; color:var(--muted); margin-top:3px;}

.kt-blist{display:flex; flex-direction:column; gap:8px; padding:6px 14px 0;}

.kt-uyari{display:flex; gap:9px; align-items:flex-start; margin:10px 16px 4px; padding:11px 13px; background:#fdf6e9; border:1px solid #ecdcc0; border-left:3px solid #c8862e; border-radius:12px;}

.kt-uyari>i{color:#c8862e; font-size:17px; flex-shrink:0; margin-top:1px;}

.kt-uyari-t{font-size:12px; line-height:1.55; color:#6d5837;}

.kt-uyari-t b{color:#573f1e; font-weight:700;}

.kt-book{display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:13px 14px; border-radius:15px; background:var(--card); border:1px solid var(--line); box-shadow:var(--sh);}

.kt-book-b{flex:1; display:flex; flex-direction:column; min-width:0; gap:2px;}

.kt-book-b b{font-size:14.5px; color:var(--espresso); font-weight:600; line-height:1.35;}

.kt-book-b small{font-size:12px; color:var(--copper);}

.kt-book-ar{font-family:'Amiri',serif; font-size:15px; color:var(--muted); direction:rtl; text-align:right; line-height:1.6; margin-top:2px;}

.kt-book-ch{color:var(--muted); font-size:17px; flex-shrink:0;}

.kt-save{flex-shrink:0; align-self:center; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:11px; color:#C9B79E; font-size:20px;}

.kt-save.on{color:var(--copper-dark);}

.kt-save:active{background:var(--ivory2);}

.kt-more{display:block; margin:16px auto 4px; padding:11px 22px; border-radius:22px; background:var(--ivory2); border:1px solid var(--line); color:var(--copper-dark); font-size:13.5px; font-weight:700; cursor:pointer;}

/* Kütüphane — Kategoriler/Kitaplar sekmesi + düz kitap listesi */
.kt-tabs{display:flex; gap:6px; padding:10px 12px 4px;}

.kt-tab{flex:1; min-width:0; display:inline-flex; align-items:center; justify-content:center; gap:4px; padding:10px 3px; border-radius:13px; border:1px solid var(--line); background:var(--card); color:var(--muted); font:inherit; font-size:11.5px; font-weight:700; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; cursor:pointer;}

.kt-tab i{font-size:14px; flex-shrink:0;}

.kt-tab.on{background:var(--copper); border-color:var(--copper); color:#fff;}

.kt-ksbar{display:flex; gap:8px; padding:8px 14px 4px; position:relative;}

.kt-ksearch{flex:1; display:flex; align-items:center; gap:8px; background:var(--card); border:1px solid var(--line); border-radius:13px; padding:0 12px;}

/* Canlı tahmin açılır kutusu (051) — kitap + müellif önerileri */
#ktOneri{position:absolute; left:14px; right:14px; top:calc(100% + 2px); z-index:40; background:var(--card);
  border:1px solid var(--line); border-radius:13px; box-shadow:0 14px 34px rgba(44,24,16,.16); overflow:hidden;}

#ktOneri .kt-onr-row{display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px; background:none;
  border:0; border-bottom:1px solid var(--line); text-align:left; font-family:inherit; cursor:pointer;}

#ktOneri .kt-onr-row:last-child{border-bottom:0;}

#ktOneri .kt-onr-row:active{background:rgba(184,115,51,.08);}

#ktOneri .kt-onr-row > i{flex:0 0 auto; color:var(--copper); font-size:15px;}

#ktOneri .kt-onr-b{min-width:0; flex:1; display:flex; flex-direction:column; gap:1px;}

#ktOneri .kt-onr-b b{font-size:13px; font-weight:600; color:var(--espresso); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

#ktOneri .kt-onr-b small{font-size:11px; color:var(--mocha); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

#ktOneri .kt-onr-ar{flex:0 0 auto; max-width:34%; font-size:13px; color:var(--mocha); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}


.kt-ksearch i{color:var(--copper); font-size:15px; flex-shrink:0;}

.kt-kqi{flex:1; min-width:0; border:0; outline:0; background:transparent; font:inherit; font-size:14px; color:var(--text); padding:11px 0; direction:rtl;}

.kt-kqi::placeholder{direction:rtl;}

.kt-ksortb{flex-shrink:0; display:flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--card); border-radius:13px; color:var(--copper-dark); font:inherit; font-size:13px; font-weight:700; padding:0 13px; cursor:pointer;}

.kt-ksortb i{color:var(--copper); font-size:16px;}

.kt-sortopt{display:flex; align-items:center; gap:12px; width:100%; padding:12px 4px; border:0; border-bottom:1px solid var(--line); background:transparent; cursor:pointer;}

.kt-sortopt:last-child{border-bottom:0;}

.kt-sortopt-ic{width:38px; height:38px; flex-shrink:0; display:grid; place-items:center; border-radius:11px; background:var(--ivory2); color:var(--copper-dark); font-size:18px;}

.kt-sortopt-b{flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; text-align:left;}

.kt-sortopt-b b{font-size:15px; color:var(--text); font-weight:600;}

.kt-sortopt-b small{font-size:11.5px; color:var(--muted);}

.kt-sortopt-ck{flex-shrink:0; color:var(--copper); font-size:20px; opacity:0;}

.kt-sortopt.on .kt-sortopt-ck{opacity:1;}

.kt-sortopt.on .kt-sortopt-ic{background:var(--copper); color:#fff;}

.kt-kcount{padding:4px 16px 8px; font-size:12.5px; color:var(--muted); direction:rtl; text-align:right; font-variant-numeric:tabular-nums;}

.kt-kcount b{color:var(--copper); font-weight:700;}

.kt-klist{display:flex; flex-direction:column; gap:8px; padding:0 14px;}

.kt-krow{display:flex; align-items:flex-start; gap:10px; width:100%; text-align:right; padding:13px 14px; border-radius:15px; background:var(--card); border:1px solid var(--line); box-shadow:var(--sh); cursor:pointer;}

.kt-krow-b{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px;}

.kt-kar{font-family:'Amiri','iar-kuran-hat',serif; font-size:16px; font-weight:700; color:var(--text); line-height:1.5; text-align:right;}

.kt-km1{font-family:'Amiri','iar-kuran-hat',serif; font-size:13px; color:var(--muted); text-align:right; line-height:1.5;}

.kt-km1 .kt-kd{color:var(--copper-dark);}

.kt-km2{font-size:11.5px; color:var(--muted); text-align:right; display:flex; flex-wrap:wrap; gap:4px 6px; justify-content:flex-end; align-items:center;}

.kt-km2 .kt-kc{color:var(--copper-dark); font-weight:600;}

.kt-kpdf{display:inline-flex; align-items:center; gap:3px; color:#B23A2E; font-weight:700; font-size:10px;}

.kt-krow .kt-book-ch{color:var(--muted); font-size:16px; align-self:center; flex-shrink:0;}

.kt-mrow{display:flex; align-items:center; gap:11px; width:100%; text-align:right; padding:11px 14px; border-radius:15px; background:var(--card); border:1px solid var(--line); box-shadow:var(--sh); cursor:pointer;}

.kt-mrow-ic{width:40px; height:40px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; background:var(--ivory2); color:var(--copper-dark); font-size:19px;}

.kt-mrow-b{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; text-align:right;}

.kt-mar{font-family:'Amiri','iar-kuran-hat',serif; font-size:16px; font-weight:700; color:var(--text); line-height:1.5; text-align:right; direction:rtl;}

.kt-mmeta{font-size:12px; color:var(--muted); text-align:right; font-variant-numeric:tabular-nums;}

.kt-mvf{color:var(--copper-dark); font-weight:600;}

.kt-mrow .kt-book-ch{align-self:center;}

.kt-ksent{text-align:center; padding:16px; color:var(--muted); font-size:13px;}

.kt-spin{display:inline-block; animation:ktspin .7s linear infinite;}

@keyframes ktspin{to{transform:rotate(360deg)}}

/* turath 40 kategori kartları + aktif-kategori çipi */
.kt-tcat-grid{display:flex; flex-direction:column; gap:8px; padding:8px 14px;}

.kt-tcat{display:flex; align-items:center; gap:10px; width:100%; padding:13px 14px; border-radius:15px; background:var(--card); border:1px solid var(--line); box-shadow:var(--sh); cursor:pointer;}

.kt-tcat-b{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; text-align:right;}

.kt-tcat-n{font-family:'Amiri','iar-kuran-hat',serif; font-size:17px; font-weight:700; color:var(--text); direction:rtl; line-height:1.4;}

.kt-tcat-tr{font-size:11.5px; color:var(--muted); direction:rtl;}

.kt-tcat-c{flex-shrink:0; color:#fff; background:var(--copper); border-radius:99px; padding:3px 11px; font-size:11.5px; font-weight:700; font-variant-numeric:tabular-nums;}

.kt-cathead{display:flex; align-items:center; gap:10px; margin:14px 14px 2px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}

.kt-cathead::before,.kt-cathead::after{content:''; flex:1; height:1px; background:var(--line);}

.kt-tcat-x{background:var(--ivory2); border-style:dashed;}

.kt-subc-n{font-family:'Marcellus',serif; font-size:15.5px; font-weight:600; color:var(--espresso); text-align:right; line-height:1.35; overflow-wrap:anywhere;}

.kt-subback{display:inline-flex; align-items:center; gap:4px; margin:8px 14px 0; padding:7px 13px; border-radius:11px; background:var(--card); border:1px solid var(--border); color:var(--copper-dark); font-size:13px; font-weight:600; box-shadow:var(--sh);}

.kt-subback i{font-size:16px;}

.kt-catchip{display:flex; align-items:center; gap:8px; margin:8px 14px 2px; padding:6px 6px 6px 14px; background:var(--ivory2); border:1px solid var(--line); border-radius:99px; font-size:13px; color:var(--copper-dark); font-weight:600; width:max-content; max-width:calc(100% - 28px);}

.kt-catchip>i{color:var(--copper); flex-shrink:0;}

.kt-catchip span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.kt-catchip button{flex-shrink:0; border:0; background:var(--card); width:24px; height:24px; border-radius:50%; color:var(--muted); cursor:pointer; display:grid; place-items:center; font-size:12px;}

.kt-reader{display:flex; flex-direction:column; min-height:calc(100vh - 58px); background:#ece2d0;}

.kt-reader.mode-sepia{background:#e6d9bf;}

.kt-reader.mode-dark{background:#0f0d0b;}

.kt-rtop{position:sticky; top:0; z-index:6; background:var(--card); border-bottom:1px solid var(--line); padding:9px 12px 8px; box-shadow:0 2px 10px rgba(44,24,16,.06);}

.kt-rtitle{font-family:'Marcellus',serif; font-size:14.5px; color:var(--espresso); line-height:1.3; text-align:center; margin-bottom:8px; padding:0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

.kt-rtools{display:flex; gap:6px; justify-content:center; flex-wrap:wrap; row-gap:6px;}

.kt-shsaved .kt-shc-pg{color:var(--copper-dark);}

.kt-rtool{width:40px; height:40px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:11px; background:var(--ivory2); border:1px solid var(--line); color:var(--copper-dark); font-size:19px; cursor:pointer;}

.kt-rtool.on{background:var(--espresso); color:#fff; border-color:var(--espresso);}

.kt-hgl{font-family:'Amiri',serif; font-size:21px; line-height:1;}

.kt-rtool-wide{width:auto; padding:0 19px;}

.kt-rtool-tx{font-family:'Marcellus',serif; font-size:14.5px; font-weight:400; letter-spacing:.08em; line-height:1;}

/* dikey matbu-yaprak akışı — her basılı sayfa ayrı kâğıt */
.kt-rpages{display:flex; flex-direction:column; gap:13px; padding:13px 11px 4px;}

.kt-psheet{background:#fbf6ec url(vendor/kitab/paper-bg.png); border:1px solid #ddd0be; border-radius:5px; box-shadow:0 1px 6px rgba(120,90,50,.12); padding:22px 20px 10px; transition:background .25s,color .25s;}

.kt-reader.mode-sepia .kt-psheet{background:#f4ecd8; border-color:#dccbb0;}

.kt-reader.mode-dark .kt-psheet{background:#1a1613; border-color:#332c25; box-shadow:none;}

.kt-sheet-body{font-family:'Kitab','Amiri',serif; font-size:var(--rfs,21px); line-height:1.95; color:#2b2118; direction:rtl; text-align:justify; white-space:pre-wrap; overflow-wrap:anywhere;}

.kt-reader.mode-sepia .kt-sheet-body{color:#5b4636;}

.kt-reader.mode-dark .kt-sheet-body{color:#e8ddd0;}

.kt-sheet-body [data-type="title"]{display:block; font-weight:700; color:#6b3f1d; font-size:1.15em; text-align:center; margin:1.25em 0 .6em;}

.kt-reader.mode-sepia .kt-sheet-body [data-type="title"]{color:#7a4a1e;}

.kt-reader.mode-dark .kt-sheet-body [data-type="title"]{color:#d9a86a;}

.kt-sheet-num{margin-top:16px; padding-top:9px; border-top:1px dashed rgba(150,120,90,.3); text-align:center; font-family:'Amiri',serif; font-size:16px; color:#9a7d5c; font-variant-numeric:tabular-nums; letter-spacing:.05em;}

.kt-reader.mode-dark .kt-sheet-num{color:#8a7355; border-top-color:rgba(120,100,80,.3);}

/* Kütüphane + Tefsir okuyucu metni kopyalanabilir: uzun basıp seç → Kopyala */
.kt-sheet-body, .kt-sheet-body *, .kt-kn2-rows, .kt-bio-txt, .kt-bio-tr,
.tf-content, .tf-content *, .tf-ayet-card, .tf-ayet-card *, .tf-meal-in{
  -webkit-user-select:text !important; user-select:text !important;
  -webkit-touch-callout:default !important;}

/* künye / kapak yaprağı */
.kt-kunye{text-align:center; padding:26px 22px 22px;}

.kt-kn2-orn{font-size:26px; color:var(--copper); line-height:1; margin-bottom:8px;}

.kt-kn2-title{font-family:'Amiri','Kitab',serif; font-size:23px; font-weight:700; color:#3a2416; line-height:1.5; margin-bottom:5px;}

.kt-kn2-by{font-size:13px; color:#8a6f52; margin-bottom:14px; direction:rtl;}

.kt-kn2-rows{text-align:right; direction:rtl; border-top:1px solid rgba(150,120,90,.22); padding-top:13px; margin-top:2px; display:flex; flex-direction:column; gap:7px;}

.kt-kn2-row{font-family:'Amiri',serif; font-size:15.5px; line-height:1.7; color:#4a3a2a;}

.kt-kn2-k{font-weight:700; color:#6b3f1d; margin-left:6px;}

.kt-kn2-note{font-family:'Amiri',serif; font-size:13.5px; color:#9a7d5c; margin-top:4px; direction:rtl; text-align:right;}

.kt-kn2-cat{margin-top:14px; display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--copper-dark); background:var(--ivory2); border:1px solid var(--line); border-radius:99px; padding:5px 14px;}

.kt-fn{color:var(--copper); font-size:.62em; font-weight:700; vertical-align:super; cursor:pointer; padding:0 2px;}

.kt-fns{margin-top:22px; padding-top:12px; border-top:1px solid rgba(150,120,90,.3); font-size:.8em; line-height:1.85;}

.kt-fn-item{display:flex; gap:7px; margin-bottom:5px; padding:3px 5px; border-radius:7px; transition:background .3s;}

.kt-fn-item.hl{background:rgba(201,122,46,.22);}

.kt-fn-n{color:var(--copper); flex-shrink:0; font-weight:700;}

.kt-fn-t{flex:1;}

.kt-hl{background:rgba(212,165,80,.55); border-radius:3px; padding:0 1px;}

.kt-reader.mode-dark .kt-hl{background:rgba(212,165,80,.42); color:#fff;}

.kt-pempty{padding:50px 22px; text-align:center; color:var(--muted); font-size:14px;}

.kt-pempty i{display:block; font-size:34px; margin-bottom:10px; color:var(--copper);}

.kt-loading{padding:50px; text-align:center; color:var(--muted); font-size:26px;}

.kt-loading i{animation:kspin 1s linear infinite; display:inline-block;}

.kt-rsentinel{min-height:10px; text-align:center; padding:2px 0 8px; color:var(--copper); font-size:23px;}

.kt-end{font-size:12.5px; color:var(--muted); letter-spacing:.03em; padding:6px;}

.kt-end i{color:var(--copper); margin-left:5px;}

/* zarif sayfa-geçiş kaydırıcısı (okuyucu en altı) */
.kt-rslider{position:fixed; left:0; right:0; bottom:0; z-index:20; display:flex; align-items:center; gap:13px; padding:10px 20px calc(12px + env(safe-area-inset-bottom)); background:var(--card); border-top:1px solid var(--line); box-shadow:0 -3px 14px rgba(44,24,16,.10);}

.kt-slider-inp{flex:1; min-width:0; -webkit-appearance:none; appearance:none; height:4px; border-radius:99px; background:#e0d5c8; outline:0; cursor:pointer;}

.kt-slider-inp::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:17px; height:17px; border-radius:50%; background:var(--copper); border:2px solid #fff; box-shadow:0 1px 5px rgba(120,90,50,.45); cursor:pointer;}

.kt-slider-inp::-moz-range-thumb{width:15px; height:15px; border:2px solid #fff; border-radius:50%; background:var(--copper); box-shadow:0 1px 5px rgba(120,90,50,.45); cursor:pointer;}

.kt-slider-lbl{flex-shrink:0; font-size:12px; font-weight:700; color:var(--copper-dark); font-variant-numeric:tabular-nums; min-width:58px; text-align:center; letter-spacing:.02em;}

.kt-reader.mode-dark .kt-slider-inp{background:#3a322b;}

.kt-rfoot{position:sticky; bottom:0; z-index:6; display:flex; align-items:center; justify-content:center; gap:12px; padding:9px 16px calc(10px + env(safe-area-inset-bottom)); background:linear-gradient(to top,var(--card) 70%,rgba(236,226,208,0));}

.kt-ftop{width:44px; height:44px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:14px; background:var(--card); border:1px solid var(--line); color:var(--copper-dark); font-size:21px; box-shadow:0 2px 9px rgba(120,90,50,.10); cursor:pointer; transition:transform .12s;}

.kt-ftop:active{transform:scale(.92);}

.kt-fpage{display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:104px; padding:7px 22px; border-radius:15px; background:linear-gradient(150deg,#3A2418,#241308); color:#F4ECD9; box-shadow:0 4px 14px rgba(58,36,24,.30); cursor:pointer;}

.kt-fpage-l{font-size:9px; letter-spacing:2px; color:#C5A54E; font-weight:700; line-height:1;}

.kt-fpage b{font-size:20px; font-weight:700; line-height:1.15; margin-top:1px; font-variant-numeric:tabular-nums;}

.kt-fmeta{font-size:11.5px; color:var(--muted); font-variant-numeric:tabular-nums; letter-spacing:.02em; min-height:14px;}

.kt-sheet{padding-bottom:8px;}

.kt-spin{display:inline-block; animation:kspin 1s linear infinite;}

.kt-shint{padding:24px; text-align:center; color:var(--muted); font-size:13.5px;}

.kt-search-inp{width:100%; padding:11px 14px; border-radius:12px; border:1px solid var(--line); background:var(--ivory2); font-size:15px; color:var(--text); margin-bottom:10px; -webkit-appearance:none;}

.kt-scnt{font-size:11px; letter-spacing:.5px; color:var(--muted); margin:2px 2px 8px; text-transform:uppercase;}

.kt-sres{display:block; width:100%; text-align:right; padding:10px 12px; border-radius:11px; background:var(--card); border:1px solid var(--line); margin-bottom:7px; cursor:pointer;}

.kt-sres-s{display:block; font-family:'Amiri',serif; font-size:15px; color:var(--espresso); direction:rtl; line-height:1.75;}

.kt-sres-p{display:block; font-size:11px; color:var(--copper); margin-top:3px; direction:ltr; text-align:left;}

.kt-toc-item{display:flex; justify-content:space-between; align-items:center; gap:11px; width:100%; text-align:right; padding:12px 13px; border-radius:12px; background:var(--card); border:1px solid var(--line); border-right:3px solid var(--copper); margin-bottom:7px; cursor:pointer; transition:background .15s,border-color .15s;}

.kt-toc-item:active{background:#FBF3E9; border-right-color:var(--copper-dark);}

.kt-toc-b{font-family:'Amiri',serif; font-size:16.5px; font-weight:600; color:var(--espresso); direction:rtl; line-height:1.55; flex:1;}

.kt-toc-p{font-size:11px; font-weight:700; color:var(--copper-dark); background:var(--ivory2); border:1px solid var(--copper-light); border-radius:9px; padding:3px 9px; flex-shrink:0; direction:ltr; font-variant-numeric:tabular-nums;}

/* fihrist seviyeleri (iç içe TOC) */
.kt-toc-l1 .kt-toc-b{font-weight:700; color:var(--espresso);}

.kt-toc-l2{margin-right:16px; border-right-color:var(--copper-light);}

.kt-toc-l2 .kt-toc-b{font-size:15px; font-weight:600;}

.kt-toc-l3{margin-right:32px; border-right-color:var(--line);}

.kt-toc-l3 .kt-toc-b{font-size:14px; font-weight:500; color:var(--text);}

.kt-toc-l4{margin-right:46px; border-right-color:var(--line);}

.kt-toc-l4 .kt-toc-b{font-size:13.5px; font-weight:400; color:var(--muted);}

/* Müellif biyografi sheet */
.kt-bio-head{display:flex; align-items:center; gap:12px; padding:2px 2px 14px; border-bottom:1px solid var(--line); margin-bottom:14px;}

.kt-bio-ic{width:46px; height:46px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; background:var(--ivory2); color:var(--copper-dark); font-size:22px;}

.kt-bio-hb{min-width:0; flex:1; display:flex; flex-direction:column; gap:3px; text-align:right;}

.kt-bio-hb b{font-family:'Amiri',serif; font-size:19px; font-weight:700; color:var(--espresso); direction:rtl; text-align:right; line-height:1.4;}

.kt-bio-hb small{font-size:12.5px; color:var(--copper-dark); font-weight:600; text-align:right;}

.kt-bio-txt{font-family:'Amiri',serif; font-size:16px; line-height:2; color:var(--text2); direction:rtl; text-align:right; white-space:pre-wrap; word-break:break-word;}

.kt-bio-empty{padding:22px; text-align:center; color:var(--muted); font-size:13.5px;}

.kt-bio-go{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-bottom:15px; padding:12px; border-radius:13px; background:linear-gradient(150deg,#3A2418,#241308); color:#F4ECD9; font:inherit; font-size:14px; font-weight:600; cursor:pointer; border:0;}

.kt-bio-go i{color:#C5A54E; font-size:17px;}

.kt-bio-go:active{opacity:.85;}

.kt-bio-lb{margin:16px 0 9px; font-size:10.5px; font-weight:700; letter-spacing:.09em; color:var(--copper-dark); text-transform:uppercase; display:flex; align-items:center; gap:8px;}

.kt-bio-lb i{font-size:13px; color:var(--copper);}

.kt-bio-lb::after{content:''; flex:1; height:1px; background:var(--line);}

.kt-bio-tr{font-size:14.5px; line-height:1.85; color:var(--text); white-space:pre-wrap; word-break:break-word; text-align:left;}

.kt-kn-row{display:flex; gap:8px; font-size:13.5px; margin-bottom:8px; line-height:1.5;}

.kt-kn-k{color:var(--muted); flex-shrink:0; min-width:66px;}

.kt-kn-v{color:var(--text); flex:1;}

.kt-kn-sec{font-size:11px; letter-spacing:.5px; color:var(--copper-dark); font-weight:700; margin:12px 2px 6px; text-transform:uppercase;}

.kt-kn-info{font-family:'Amiri',serif; font-size:15px; line-height:2; color:var(--text2); direction:rtl; text-align:right; white-space:pre-wrap; max-height:38vh; overflow:auto;}

.kt-font-row{display:flex; align-items:center; justify-content:center; gap:20px; padding:14px 0 6px;}

.kt-font-btn{width:56px; height:56px; border-radius:15px; background:var(--ivory2); border:1px solid var(--line); font-size:22px; font-weight:700; color:var(--espresso); font-family:'Marcellus',serif; cursor:pointer;}

.kt-font-cur{font-size:16px; font-weight:700; color:var(--copper-dark); min-width:64px; text-align:center; font-variant-numeric:tabular-nums;}

.kt-go-btn{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:13px; border-radius:13px; background:linear-gradient(150deg,#3A2418,#241308); color:#F4ECD9; font-weight:700; font-size:14.5px; border:none; cursor:pointer; box-shadow:0 4px 14px rgba(58,36,24,.24);}

.kt-go-btn i{color:#C5A54E;}

.kt-pg-stepper{display:flex; align-items:center; justify-content:center; gap:16px; padding:10px 0 2px;}

.kt-pg-step{width:52px; height:52px; border-radius:15px; background:var(--ivory2); border:1px solid var(--line); color:var(--copper-dark); font-size:22px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .12s;}

.kt-pg-step:active{transform:scale(.9); background:#FBF3E9;}

.kt-pg-field{display:flex; flex-direction:column; align-items:center; min-width:92px;}

.kt-pg-inp{width:100%; text-align:center; font-size:32px; font-weight:700; color:var(--espresso); font-family:'Marcellus',serif; background:none; border:none; -webkit-appearance:none; -moz-appearance:textfield; font-variant-numeric:tabular-nums; padding:0;}

.kt-pg-inp::-webkit-outer-spin-button,.kt-pg-inp::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}

.kt-pg-cap{font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); font-weight:700;}

.kt-pg-quick{display:flex; align-items:center; justify-content:center; gap:8px; margin:16px 0 12px;}

.kt-pg-q{flex:1; display:flex; align-items:center; justify-content:center; gap:5px; padding:11px 6px; border-radius:12px; background:var(--card); border:1px solid var(--line); font-size:12.5px; font-weight:600; color:var(--copper-dark); font-variant-numeric:tabular-nums; cursor:pointer;}

.kt-pg-q:active{background:#FBF3E9;}

/* ---- Vurgular & Notlar ---- */
.kt-hlm{border-radius:3px; padding:0 1px; color:inherit;}

.kt-reader.mode-dark .kt-hlm{color:#241308;}

.kt-hlbar{position:fixed; left:50%; transform:translateX(-50%); z-index:45; display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--border); border-radius:24px; padding:8px 13px; box-shadow:0 6px 22px rgba(42,23,16,.22); animation:akbUp .14s ease;}

.kt-hld{width:26px; height:26px; border-radius:50%; border:2px solid rgba(42,23,16,.15); flex-shrink:0;}

.kt-hld.on{border-color:var(--copper); box-shadow:0 0 0 2px rgba(181,101,29,.25);}

.kt-hln{width:30px; height:30px; border-radius:50%; background:var(--ivory2); color:var(--copper-dark); font-size:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}

.kt-hlq{background:var(--ivory); border:1px solid var(--line); border-radius:11px; padding:9px 12px; font-family:'Amiri',serif; font-size:16px; line-height:1.8; color:var(--espresso); margin-bottom:10px;}

.kt-hlnote-inp{width:100%; border:1px solid var(--border); border-radius:11px; padding:10px 12px; font:inherit; font-size:14px; resize:vertical; background:#fff; color:var(--text);}

.kt-hlc-row{display:flex; gap:10px; justify-content:center; margin:12px 0;}

/* ---- Son okunanlar rafı + indirilenler ---- */
.kt-shelf-h{display:flex; align-items:center; justify-content:space-between; margin:12px 16px 6px; font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--muted);}

.kt-shelf-dl{display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:9px; background:var(--card); border:1px solid var(--border); color:var(--copper-dark); font-size:11.5px; font-weight:600; letter-spacing:0;}

.kt-shelf{display:flex; gap:9px; overflow-x:auto; padding:2px 16px 8px; -webkit-overflow-scrolling:touch; scrollbar-width:none;}

.kt-shelf::-webkit-scrollbar{display:none;}

.kt-shcard{flex:0 0 auto; width:132px; background:var(--card); border:1px solid var(--line); border-radius:13px; padding:9px 11px; box-shadow:var(--sh); display:flex; flex-direction:column; gap:5px; text-align:right;}

.kt-shc-ad{font-family:'Amiri',serif; font-size:14.5px; line-height:1.5; color:var(--espresso); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.9em;}

.kt-shc-pg{font-size:10.5px; color:var(--copper); font-weight:700; text-align:left;}

/* ---- Önceki konumlar ---- */
.kt-ph-h{font-size:10.5px; font-weight:700; letter-spacing:.08em; color:var(--muted); margin:2px 2px 6px;}

.kt-ph-row{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px;}

.kt-ph-chip{padding:6px 13px; border-radius:16px; background:var(--ivory2); border:1px solid var(--border); color:var(--espresso); font-size:12.5px; font-weight:600; font-variant-numeric:tabular-nums;}

/* ---- Kitap indirme ---- */
.kt-dl-wrap{padding:4px 2px 8px; text-align:center;}

.kt-dl-meta{font-size:13px; color:var(--text2); line-height:1.55; margin-bottom:13px;}

.kt-dl-ok{display:flex; align-items:center; justify-content:center; gap:6px; color:var(--green); font-weight:700; font-size:14.5px; margin-bottom:7px;}

.kt-dl-tt{font-size:13px; color:var(--text2); margin-bottom:9px; font-variant-numeric:tabular-nums;}

.kt-dl-track{height:8px; border-radius:6px; background:var(--ivory2); overflow:hidden; margin-bottom:14px;}

.kt-dl-bar{height:100%; width:0; border-radius:6px; background:linear-gradient(90deg,var(--copper),var(--goldsoft)); transition:width .25s;}

.kt-dl-cancel{background:var(--ivory2)!important; color:#a33!important;}

.kt-dl-del{background:#f6e3e0!important; color:#a33!important;}

.kt-dlrow{display:flex; align-items:stretch; gap:8px; margin-bottom:8px;}

.kt-dlrow-b{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; text-align:right; background:var(--ivory); border:1px solid var(--line); border-radius:12px; padding:9px 12px;}

.kt-dlrow-ad{font-family:'Amiri',serif; font-size:15px; color:var(--espresso); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

.kt-dlrow-m{font-size:11px; color:var(--muted); text-align:left;}

.kt-dlrow-x{flex:0 0 36px; border-radius:11px; background:var(--ivory2); color:#a33; display:flex; align-items:center; justify-content:center;}


/* Şerit kartı metin taşması: iç <span> flex çocuğu; min-width:0 olmadan
   küçülemiyor, bu yüzden ellipsis devreye girmiyor ve metin karttan taşıyordu. */
.kol-c{overflow:hidden;}

.kol-c span{display:block; min-width:0; max-width:100%; overflow:hidden;}

.kol-c b,.kol-c small{display:block; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
@media (min-width:834px){


  /* Kütüphane okuma-ayarı çubuğu kenara dayalı (border-top'lu, bottom:0).
     Ortalasak havada duran bir panele dönerdi → kap tam genişlikte kalsın,
     yalnız İÇERİĞİ içerik sütunuyla hizalansın. */
  .kt-rslider{padding-inline:max(20px, calc((100% - 820px) / 2));}


  /* ── 6) Kütüphane kitap yaprağı ────────────────────────────────
     Kitap hissi için biraz daha dar; 820px'te Arapça justify kelime
     aralarını fazla esnetiyordu. */
  .kt-psheet{max-width:720px; margin-inline:auto;}
}


/* ===== Kütüphane kategori ekranı — 2026 premium (eski .kt-tcat kuralları tefsir tür kartları +
       alt-kategori görünümü tarafından hâlâ kullanıldığı için SİLİNMEDİ) ===== */
.kt-catf{display:flex; align-items:center; gap:9px; margin:8px 14px 2px; padding:0 13px; height:38px; border-radius:12px; background:var(--card); border:1px solid var(--line);}

.kt-catf i{font-size:16px; color:var(--muted); flex-shrink:0;}

.kt-catf input{flex:1; min-width:0; border:0; outline:0; background:none; font:inherit; font-size:13px; color:var(--espresso);}

.kt-catf input::placeholder{color:var(--muted);}

.kt-cat-grid{display:flex; flex-direction:column; gap:6px; padding:6px 14px 0;}

.kt-c2{display:flex; align-items:center; gap:12px; width:100%; min-height:64px; padding:11px 14px; border-radius:16px; background:#FFF; border:1px solid #EAE1D5; box-shadow:0 1px 2px rgba(42,23,16,.045); text-align:left; cursor:pointer; transition:transform .14s ease;}

.kt-c2:active{transform:scale(.985);}

.kt-c2-x{background:var(--ivory2); border-style:dashed;}

.kt-c2-ic{flex:0 0 auto; display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:linear-gradient(160deg,#F5EFE5,#E9E0D3); font-size:19px; color:#8A4A12;}

.kt-c2-b{flex:1; min-width:0; display:flex; flex-direction:column;}

.kt-c2-tr{font-size:14.5px; font-weight:600; letter-spacing:-.01em; color:#2A1710; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.kt-c2-ar{margin-top:1px; font-family:'Amiri','iar-kuran-hat',serif; font-size:12.5px; color:#8A7E70; opacity:.88; direction:rtl; line-height:1.55; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.kt-c2-ar.solo{font-size:17px; font-weight:700; color:#2A1710; opacity:1;}

.kt-c2-n{flex:0 0 54px; text-align:right;}

.kt-c2-n b{display:block; font-size:13.5px; font-weight:700; color:#8A4A12; font-variant-numeric:tabular-nums; line-height:1.15;}

.kt-c2-n small{display:block; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#B0A496;}

.kt-fam{display:flex; align-items:baseline; gap:8px; margin:18px 16px 7px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8A7E70;}

.kt-fam em{flex:1; height:1px; background:var(--line); opacity:.8;}

.kt-fam u{text-decoration:none; font-size:10.5px; font-weight:600; color:#B0A496; font-variant-numeric:tabular-nums; letter-spacing:0;}

.kt-fam.hide,.kt-c2.hide,.kt-cat-grid.hide,.kt-cathead.hide{display:none;}


/* ===== Üst koleksiyon şeridi — Kütüphane · Tefsir · Hadis · Duâ ortak çatısı ===== */
.kol-h{margin:12px 16px 6px; font-size:10.5px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--muted);}

.kol-serit{display:flex; gap:9px; overflow-x:auto; padding:2px 14px 10px; -webkit-overflow-scrolling:touch; scrollbar-width:none;}

.kol-serit::-webkit-scrollbar{display:none;}

.kol-c{flex:0 0 auto; width:118px; min-height:70px; display:flex; flex-direction:column; justify-content:space-between; gap:6px; padding:10px 12px; border-radius:16px; background:var(--card); border:1px solid var(--line); box-shadow:var(--sh); text-align:left; transition:transform .14s ease;}

.kol-c:active{transform:scale(.96);}

.kol-c i{font-size:19px; color:var(--copper-dark); line-height:1;}

.kol-c b{display:block; font-size:13px; font-weight:600; letter-spacing:-.01em; color:var(--espresso); line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.kol-c small{display:block; margin-top:2px; font-size:10px; color:var(--muted); line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.kol-c.on{background:var(--espresso); border-color:transparent;}

.kol-c.on i{color:#E0B489;}

.kol-c.on b{color:#FFFFFF;}

.kol-c.on small{color:rgba(255,255,255,.62);}

/* kapsam ayracı — yalnız Kütüphane */
.kt-scope{margin:2px 16px 0; padding-top:13px; border-top:1px solid var(--line);}

.kt-scope b{display:block; font-size:15px; font-weight:600; letter-spacing:-.02em; color:var(--espresso);}

.kt-scope small{display:block; margin-top:3px; font-size:11.5px; color:var(--muted); line-height:1.45;}


/* ===== Dil bölümleri (karışık listelerde Türkçe/Arapça ayrımı) ===== */
.kt-cathead b{font-weight:700; color:var(--copper-dark); font-variant-numeric:tabular-nums;}

.kt-cathead.hide,.tef-grid.hide,.hk-grid.hide{display:none;}

/* Klasik kategoriden Türkçe koleksiyona çapraz başvuru */
.kt-trlink{display:flex; align-items:center; gap:8px; width:100%; min-height:38px; margin-top:-2px; padding:8px 14px; border-radius:12px; background:var(--ivory2); border:1px solid var(--line); font-size:12px; font-weight:600; color:var(--copper-dark); text-align:left;}

.kt-trlink i{font-size:15px; flex-shrink:0;}

.kt-trlink span{flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.kt-trlink.hide{display:none;}


/* ===== Kütüphane kitap satırı — Türkçe ad birincil (ad_tr 11.940/11.983 kitapta dolu) ===== */
.kt-krow-tr{text-align:left;}

.kt-kar-tr{font-size:15px; font-weight:600; letter-spacing:-.02em; color:var(--espresso); line-height:1.32; direction:ltr; text-align:left;}

.kt-krow-tr .kt-kar{font-family:'Amiri','iar-kuran-hat',serif; font-size:14px; font-weight:400; color:var(--muted); line-height:1.45; text-align:left;}

.kt-km1-tr{font-size:12.5px; color:var(--muted); direction:ltr; text-align:left; line-height:1.45;}

.kt-km1-tr .kt-kd{color:var(--copper-dark);}

.kt-krow-tr .kt-km2{justify-content:flex-start; text-align:left;}

.kt-km2 .kt-kc i{font-size:10px; opacity:.55; margin:0 1px; vertical-align:-1px;}


/* ===== Tür ekranı kartları (kategori → tür → kitap) ===== */
.kt-turc{min-height:66px;}

.kt-turc-a{margin-top:2px; font-size:11.5px; color:var(--muted); line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

.kt-turc-tr .kt-c2-ic{background:linear-gradient(160deg,#EDE3D2,#DCCDB4);}
   /* Türkçe başlığı ayırt eder */
.kt-turc-tr .kt-c2-tr{color:#7A3E0A;}

.kt-turc-yok .kt-c2-ic{background:linear-gradient(160deg,#F0EBE2,#E4DDD1);}


/* Raf kartı — Türkçe adlı kitaplar Latin/LTR, Arapça olanlar eski hâlinde */
.kt-shcard{width:150px;}

.kt-shcard-tr .kt-shc-ad{font-family:inherit; font-size:13.5px; font-weight:600; letter-spacing:-.01em; line-height:1.3; direction:ltr; text-align:left; color:var(--espresso);}

.kt-shcard-tr .kt-shc-pg{text-align:left;}

.kt-shcard-ar .kt-shc-ad{direction:rtl; text-align:right;}
/* ─── WEB DÜZELTME KATMANI ────────────────────────────────────────────────── */
/* mobile.css tuzağı: ≤480px'te TÜM <button>'ları width:100%+min-height:44px yapar.
   Şerit kartı / sekme / sıralama düğmesi bundan AÇIKÇA muaf tutulur. */
@media (max-width:480px){
  .ktapp .kol-c{width:auto; min-height:0;}
  .ktapp .kt-tab{width:auto; min-height:40px;}
  .ktapp .kt-ksortb{width:auto; min-height:0;}
  .ktapp .kt-save{width:auto; min-height:0;}
  .ktapp .kt-c2{width:100%;}
}
/* satır kartları <a> oldu (SEO + yeni sekme); app'teki <button> görünümü korunur */
.ktapp a.kt-krow{display:flex; text-align:left; width:100%;}
.ktapp a.kt-c2{display:flex; text-align:left;}
/* web'de imleç geribildirimi */
.ktapp .kt-krow:hover,.ktapp .kt-c2:hover,.ktapp .kt-mrow:hover{border-color:var(--copper-light); box-shadow:var(--sh);}
.ktapp .kol-c:hover:not(.on){border-color:var(--copper-light);}
/* canlı tahmin kutusu (051'dekiyle aynı, app paletinde) */
.ktapp .kt-ksbar{position:relative;}
.ktapp #ktOneri{position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:60; background:var(--card);
  border:1px solid var(--line); border-radius:13px; box-shadow:var(--sh-lg); overflow:hidden;}
.ktapp #ktOneri .kt-onr-row{display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px;
  border-bottom:1px solid var(--line); text-align:left; cursor:pointer; background:none; border-left:0; border-right:0; border-top:0;}
.ktapp #ktOneri .kt-onr-row:last-child{border-bottom:0;}
.ktapp #ktOneri .kt-onr-row:hover{background:rgba(181,101,29,.07);}
.ktapp #ktOneri .kt-onr-row > i{flex:0 0 auto; color:var(--copper); font-size:15px;}
.ktapp #ktOneri .kt-onr-b{min-width:0; flex:1; display:flex; flex-direction:column; gap:1px;}
.ktapp #ktOneri .kt-onr-b b{font-size:13px; font-weight:600; color:var(--espresso); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ktapp #ktOneri .kt-onr-b small{font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ktapp #ktOneri .kt-onr-ar{flex:0 0 auto; max-width:34%; font-size:14px; color:var(--text2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-family:'Amiri',serif;}
/* alt-sayfa (sıralama) — app rsheet görünümünün web karşılığı */
.kt-sheet-ov{position:fixed; inset:0; z-index:200; display:flex; align-items:flex-end; justify-content:center;}
.kt-sheet-ov .arka{position:absolute; inset:0; background:rgba(26,15,8,.44);}
.kt-sheet-ov .kart{position:relative; width:100%; max-width:560px; background:#FFFDF9; border-radius:22px 22px 0 0;
  padding:10px 14px calc(16px + env(safe-area-inset-bottom)); box-shadow:0 -12px 40px rgba(42,23,16,.25);
  animation:ktSheetUp .22s ease;}
@keyframes ktSheetUp{from{transform:translateY(40px); opacity:.4;} to{transform:none; opacity:1;}}
.kt-sheet-ov .tut{width:44px; height:5px; border-radius:3px; background:#E4DACC; margin:4px auto 10px;}
.kt-sheet-ov .bas{font-size:14px; font-weight:700; color:var(--espresso, #2A1710); padding:0 4px 10px;}
/* SEO metin bölümü — YALNIZ kütüphane giriş görünümünde (seoSync).
   Masaüstü: kart panel + çok kolonlu konu dizini. */
.kt-seo{max-width:820px; margin:34px auto 0; padding:0 16px;}
.kt-seo-inner{background:#FFFDF9; border:1px solid #EAE1D5; border-radius:16px;
  padding:22px 24px 18px; color:#6A5A4E; font-size:13.5px; line-height:1.72;
  box-shadow:0 1px 2px rgba(42,23,16,.04), 0 6px 18px rgba(42,23,16,.05);}
.kt-seo-inner h2{font-size:17px; color:#2A1710; margin:0 0 6px; font-family:'Playfair Display',Georgia,serif;}
.kt-seo-cizgi{display:block; width:46px; height:2.5px; border-radius:2px; background:#B5651D; margin:0 0 12px;}
.kt-seo-inner p{margin:0;}
.kt-seo-linkler{margin-top:16px; padding-top:14px; border-top:1px dashed #EAE1D5;
  columns:3; column-gap:28px; font-size:12.5px; line-height:1.5;}
.kt-seo-linkler a{display:block; padding:3.5px 0; color:#8B5A2B; text-decoration:none;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; break-inside:avoid;}
.kt-seo-linkler a::before{content:'› '; color:#D4956A;}
.kt-seo-linkler a:hover{color:#B5651D; text-decoration:underline;}
@media (max-width:760px){ .kt-seo-linkler{columns:2;} }
@media (max-width:480px){ .kt-seo-inner{padding:18px 16px 14px;} .kt-seo-linkler{columns:2; column-gap:18px; font-size:12px;} }
/* yükleniyor dönmesi */
.ktapp .kt-spin{display:inline-block; animation:ktSpin 0.9s linear infinite;}
@keyframes ktSpin{to{transform:rotate(360deg);}}

/* ─── APP RSHEET (alt-sayfa) BLOKLARI ─────────────────────────────────── */


/* okuma "daha" alt sayfası */
.rsheet{position:fixed; inset:0; z-index:40;}

.rs-backdrop{position:absolute; inset:0; background:rgba(20,11,4,.42); opacity:0; transition:opacity .2s;}

.rsheet.on .rs-backdrop{opacity:1;}

.rs-card{position:absolute; left:0; right:0; bottom:0; background:var(--ivory); border-radius:24px 24px 0 0; padding:8px 14px calc(env(safe-area-inset-bottom,0px) + 16px); box-shadow:0 -8px 30px rgba(42,23,16,.2); transform:translateY(100%); transition:transform .24s cubic-bezier(.22,.7,.3,1);}

.rsheet.on .rs-card{transform:translateY(0);}

.rs-grab{width:38px; height:4px; border-radius:3px; background:var(--border); margin:8px auto 12px;}

.rs-ttl{font-size:15px; color:var(--espresso); text-align:center; margin-bottom:10px;}

.rs-item{display:flex; align-items:center; gap:13px; width:100%; text-align:left; padding:14px 14px; border-radius:13px; font-size:14.5px; color:var(--text); font-weight:500;}

.rs-item:active{background:var(--ivory2);}

.rs-item i{font-size:20px; color:var(--copper);}


/* kâri / kıraat seç sheet */
.rcs-card{max-height:70vh; display:flex; flex-direction:column;}

.rcs-tabs{display:flex; gap:8px; margin:2px 2px 8px;}

.rcs-tab{flex:1; padding:8px 0; border-radius:10px; background:var(--card); border:1px solid var(--line); font-size:12.5px; font-weight:600; color:var(--text2);}

.rcs-tab.on{background:linear-gradient(150deg,#3A2418,#241308); color:#F4ECD9; border-color:transparent;}

.rcs-list{overflow-y:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px;}

.rcs-head{display:flex; align-items:baseline; gap:8px; padding:0 6px 8px; margin-bottom:4px; border-bottom:1px solid var(--line);}

.rcs-h-t{font-size:16px; color:var(--espresso); font-weight:600; letter-spacing:-.01em;}

.rcs-h-s{font-size:11.5px; color:var(--muted);}

.rcs-row{display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; text-align:left; padding:10px 12px; border-radius:11px; color:var(--text);}

.rcs-row.on{background:#FBF3E9;}

.rcs-b{min-width:0;}

.rcs-b b{display:block; font-size:14px; font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.rcs-b small{display:block; font-size:11px; color:var(--muted); margin-top:1px;}

.rcs-row.on .rcs-b b{color:var(--copper-dark);}

.rcs-tick{font-size:19px; color:var(--copper); flex-shrink:0; opacity:0;}

.rcs-row.on .rcs-tick{opacity:1;}

/* Kapsama: kısmî kitaplarda tefsiri olmayan sûre/âyet (soluk, seçilemez) */
.rcs-row.off{opacity:.38; pointer-events:none;}
@media (min-width:834px){


  /* ── 3) Alt sayfalar (sheet) ───────────────────────────────────
     .rs-card left/right:0 ile tam genişlik. Ortalanırken transform'a
     DOKUNULMUYOR — açılış animasyonu translateY kullanıyor, ezersek kırılır.
     Alta dayalı kaldığı için üst-köşe yuvarlatma doğru kalır. */
  .rs-card{width:min(560px, 100%); margin-inline:auto;}
}

/* ─── OKUYUCU (app kutuphaneKitap portu) ─────────────────────────────────── */
/* Yüzen öğeler (.kt-rslider, .kt-hlbar, .rsheet, #ktToast) body'ye eklenir —
   .ktapp DIŞINDA kaldıklarından palet değişkenleri onlara da tanımlanır. */
.kt-rslider, .kt-hlbar, .rsheet, #ktToast{
  --ivory:#F7F4EE; --ivory2:#EFEAE1; --card:#FFFFFF;
  --espresso:#2A1710; --espresso2:#3A2418; --text:#241308; --text2:#6A5A4E;
  --muted:#9C8C80; --gold:#B5651D; --goldsoft:#D4956A; --green:#3F6B58;
  --copper-dark:#8B5A2B; --copper:#B5651D; --copper-light:#D4956A;
  --border:#EAE1D5; --line:#F0EAE0;
  --sh:0 1px 2px rgba(42,23,16,.04), 0 6px 18px rgba(42,23,16,.06);
  --sh-lg:0 2px 6px rgba(42,23,16,.06), 0 16px 34px rgba(42,23,16,.13);
  font-family:'Inter',-apple-system,'Segoe UI',Roboto,sans-serif;
}
/* app'te sheet #app'e ekleniyordu; web'de body — sabit konum garanti */
.rsheet{position:fixed; inset:0; z-index:300;}
/* okuyucu sayfası: nav + footer arasında app kolonu */
body.kutuphane-page .ktapp.ktapp-okuyucu{padding-bottom:96px;}   /* alt kaydırıcı payı */
.kt-reader{border-radius:14px; overflow:visible;}
/* mobile.css ≤480px button tuzağı: okuyucu araçları */
@media (max-width:480px){
  .kt-rtool{width:auto; min-height:0;}
  .kt-hld,.kt-hln{width:34px; min-height:34px;}
  .kt-font-btn,.kt-pg-step,.kt-pg-q,.kt-ph-chip{width:auto; min-height:0;}
  .kt-sres,.kt-toc-item,.kt-sortopt,.kt-bio-go,.kt-go-btn{width:100%;}
}
/* app'te kaydırıcı tabbar üstündeydi; web'de pencere altına sabit */
.kt-rslider{z-index:120;}
/* basit toast (app toast portu) */
#ktToast{position:fixed; left:50%; bottom:104px; transform:translateX(-50%) translateY(8px);
  z-index:400; background:var(--espresso); color:#FFF7EC; font-size:13px; font-weight:600;
  padding:9px 16px; border-radius:12px; box-shadow:0 8px 26px rgba(42,23,16,.35);
  opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;}
#ktToast.on{opacity:1; transform:translateX(-50%) translateY(0);}

/* Okuyucu üst başlığı (SSR doldurur): TR ad + Arapça asıl + müellif — app kt-rtitle dili */
.kt-bhead{padding:16px 2px 10px;}
.kt-bhead h1{font-family:'Playfair Display',Georgia,serif; font-size:21px; font-weight:700; line-height:1.3;
  color:var(--espresso,#2A1710); margin:0;}
.kt-bhead h1[dir="rtl"]{font-family:'Amiri',serif; font-size:24px;}
.kt-bhead .ar-title{font-family:'Amiri',serif; font-size:17px; color:#6A5A4E; margin-top:3px;}
.kt-bhead .au{font-size:12.5px; color:#9C8C80; margin-top:5px; font-weight:600;}

/* ─── RAF KARTLARI — MASAÜSTÜ DÜZENİ ─────────────────────────────────────
   App'te raf telefon için yatay kaydırmalı dar şerittir (132-150px kart).
   Masaüstünde şerit yerine ızgara: kartlar büyür, satıra yayılır, fare için
   hover geri bildirimi gelir. ≤640px'te app davranışı AYNEN korunur. */
@media (min-width:641px){
  .ktapp .kt-shelf{display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));
    gap:12px; overflow:visible; padding:4px 2px 10px;}
  .ktapp .kt-shcard{width:auto; min-height:104px; padding:13px 15px 11px; border-radius:14px;
    justify-content:space-between; gap:8px; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;}
  .ktapp .kt-shcard:hover{border-color:var(--copper-light); box-shadow:var(--sh-lg); transform:translateY(-2px);}
  .ktapp .kt-shc-ad{font-size:15.5px; -webkit-line-clamp:3; min-height:0;}
  .ktapp .kt-shcard-tr .kt-shc-ad{font-size:14px; line-height:1.4;}
  .ktapp .kt-shc-pg{display:inline-flex; align-items:center; gap:5px; align-self:flex-start;
    font-size:11px; padding:3px 9px; border-radius:8px; background:rgba(181,101,29,.08); color:var(--copper-dark);}
  .ktapp .kt-shcard-ar .kt-shc-pg{align-self:flex-end;}
  .ktapp .kt-shelf-h{margin:16px 2px 8px; font-size:11.5px;}
}

/* ─── OKUYUCU BAŞLIĞI — MASAÜSTÜ DÜZENİ ──────────────────────────────────
   SSR çapaları (h1#kt-ad / .ar-title / .au) DOM'da aynı kalır; yalnız sunum:
   masaüstünde kitap künyesi tek kartta (TR ad solda, Arapça asıl sağda,
   müellif altta) ve araç çubuğu kartın devamı gibi bağlanır. */
.ktapp .kt-bhead{background:#FFFDF9; border:1px solid var(--border); border-bottom:0;
  border-radius:16px 16px 0 0; padding:16px 20px 14px; margin:0;
  display:grid; grid-template-columns:1fr auto; column-gap:26px; align-items:center;
  box-shadow:var(--sh);}
.ktapp .kt-bhead h1{grid-column:1; font-family:'Playfair Display',Georgia,serif;
  font-size:21px; font-weight:700; line-height:1.32; color:var(--espresso); margin:0;}
.ktapp .kt-bhead h1[dir="rtl"]{font-family:'Amiri',serif; font-size:23px;}
.ktapp .kt-bhead .ar-title{grid-column:2; grid-row:1 / span 2; font-family:'Amiri',serif;
  font-size:20px; line-height:1.7; color:var(--copper-dark); text-align:right;
  max-width:330px; margin:0;}
.ktapp .kt-bhead .au{grid-column:1; font-size:11.5px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--muted); margin-top:4px;}
.ktapp .kt-bhead .au:not(:empty)::before{content:'—'; margin-right:7px; color:var(--copper-light);}
/* araç çubuğu başlık kartına yapışır: üst köşeler düz, tek gövde hissi */
.ktapp .kt-reader{border-radius:0 0 14px 14px;}
.ktapp .kt-rtop{border-radius:0; border-top:1px solid var(--line);}
.ktapp .kt-rtool{transition:background .14s ease, border-color .14s ease;}
.ktapp .kt-rtool:not(.on):hover{background:rgba(181,101,29,.10); border-color:var(--copper-light);}
@media (max-width:640px){
  .ktapp .kt-bhead{display:block; padding:14px 16px 12px; border-radius:14px 14px 0 0;}
  .ktapp .kt-bhead .ar-title{text-align:right; max-width:none; font-size:17px; margin-top:3px;}
}

/* ─── PREMIUM RENK AYRIMI — OKUYUCU (site kimliği: espresso + altın/bakır) ──
   Sorun: künye kartı / araç şeridi / kâğıt zemini üç yakın krem tonuydu,
   ayrım okunmuyordu. Çözüm: künye SİTE hero diliyle koyu-espresso + altın;
   araç şeridi açık ve bakır ikonlu; sayfa kâğıtları koyulaştırılmış zeminde
   belirgin gölgeyle yüzer. */
.ktapp .kt-bhead{
  background:linear-gradient(135deg, #2E1A10 0%, #1C0F09 100%);
  border:1px solid rgba(212,149,106,.28); border-bottom:0;
  box-shadow:0 12px 32px rgba(42,23,16,.20);
  position:relative; overflow:hidden;
}
.ktapp .kt-bhead::after{content:''; position:absolute; top:-45%; right:-8%;
  width:360px; height:210%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(197,165,78,.20), transparent 72%);}
.ktapp .kt-bhead::before{content:'المكتبة'; position:absolute; left:14px; bottom:-14px;
  font-family:'Reem Kufi','Amiri',serif; font-size:64px; line-height:1; color:rgba(197,165,78,.07);
  pointer-events:none;}
.ktapp .kt-bhead h1{color:#F6EFE3; position:relative; z-index:1;}
.ktapp .kt-bhead .ar-title{color:#E4C08B; position:relative; z-index:1;}
.ktapp .kt-bhead .au{color:rgba(228,192,139,.62); position:relative; z-index:1;}
.ktapp .kt-bhead .au:not(:empty)::before{color:rgba(197,165,78,.55);}
/* araç şeridi: koyu karta altın çizgiyle bağlanan açık bant */
.ktapp .kt-rtop{background:#FCF9F3; border-top:2px solid #C5A54E; box-shadow:0 2px 10px rgba(44,24,16,.07);}
.ktapp .kt-rtool{background:#F3ECE1; border-color:#E6DCCE;}
.ktapp .kt-rtool.on{background:linear-gradient(135deg,#B5651D,#8B5A2B); border-color:#8B5A2B; color:#FFF7EC;}
.ktapp .kt-rtool:not(.on):hover{background:rgba(181,101,29,.12);}
/* sayfa alanı: kâğıtlar zeminden ayrışsın */
.ktapp .kt-reader{background:#EAE0CE;}
.ktapp .kt-psheet{box-shadow:0 1px 3px rgba(42,23,16,.09), 0 12px 26px rgba(42,23,16,.08);}
.ktapp .kt-kunye .kt-kn2-orn{color:#B5651D;}
.ktapp .kt-kunye .kt-kn2-cat{color:#8B5A2B;}
/* alt kaydırıcı: bakır vurgulu */
.kt-rslider{background:#FFFDF9; border-top:1px solid #EAE1D5;}
.kt-rslider .kt-slider-inp{accent-color:#B5651D;}
.kt-rslider .kt-slider-lbl{color:#8B5A2B; font-weight:700;}

/* ─── SHEET + KAYDIRICI — MASAÜSTÜ DÜZENİ ────────────────────────────────
   Telefonda alt-sayfa (bottom sheet) doğru; masaüstünde tam genişlik kaplayıp
   yadırgıyordu. ≥641px: sheet ORTALANMIŞ pencere (fade+scale), kaydırıcı da
   tam-ekran şerit yerine içerik kolonuna orantılı YÜZEN çubuk. */
@media (min-width:641px){
  .rsheet{display:flex; align-items:center; justify-content:center;}
  .rsheet .rs-card{position:relative; left:auto; right:auto; bottom:auto;
    width:min(620px, calc(100vw - 56px)); border-radius:18px;
    padding:6px 18px 18px; box-shadow:0 24px 70px rgba(28,15,9,.42);
    transform:translateY(14px) scale(.97); opacity:0;
    transition:transform .2s ease, opacity .2s ease;}
  .rsheet.on .rs-card{transform:none; opacity:1;}
  .rsheet .rs-grab{display:none;}
  .rsheet .rcs-card{max-height:76vh;}
  .rsheet .rcs-head{padding-top:14px;}
  /* fihrist/arama satırları masaüstünde biraz daha sıkı */
  .rsheet .kt-toc-item{padding:9px 12px;}
  .rsheet .kt-sres{padding:9px 12px;}
  /* giriş sayfasındaki sıralama sheet'i de ortalanır */
  .kt-sheet-ov{align-items:center;}
  .kt-sheet-ov .kart{border-radius:18px; width:min(520px, calc(100vw - 56px));
    padding:8px 16px 16px; box-shadow:0 24px 70px rgba(28,15,9,.42);}
  .kt-sheet-ov .tut{display:none;}
  .kt-sheet-ov .bas{padding-top:12px;}
  /* alt kaydırıcı: içerik kolonu genişliğinde yüzen çubuk */
  .kt-rslider{left:50%; right:auto; bottom:16px; transform:translateX(-50%);
    width:min(788px, calc(100vw - 40px));
    border:1px solid #E4D9C8; border-radius:16px;
    padding:10px 18px 10px; box-shadow:0 12px 34px rgba(42,23,16,.22);}
}

/* ─── SLIDER MOBIL: ufak/ince + mobile.css tuzak sıfırlama ────────────────
   mobile.css ≤480px: `input{min-height:44px;font-size:16px}` range'i de şişirip
   native görünüme bozuyordu (slider "çalışmıyor" görünüyordu); button kuralı da
   etiketi 44px'e büyütüyordu. Track ince (4px) ama dokunma alanı 26px kalır. */
.kt-rslider .kt-slider-inp{
  min-height:0 !important; height:26px !important; font-size:12px !important;
  padding:0 !important; margin:0 !important; border:0 !important;
  -webkit-appearance:none !important; appearance:none !important;
  background:linear-gradient(#E0D5C8,#E0D5C8) center/100% 4px no-repeat !important;
  border-radius:99px; touch-action:none;
}
.kt-rslider .kt-slider-inp::-webkit-slider-runnable-track{height:26px; background:transparent;}
.kt-rslider .kt-slider-inp::-webkit-slider-thumb{margin-top:4px;}
.kt-rslider .kt-slider-lbl{
  min-height:0 !important; min-width:56px !important; width:auto !important;
  padding:2px 4px !important; font-size:11.5px !important; line-height:1.2 !important;
}
@media (max-width:640px){
  .kt-rslider{padding:7px 14px calc(8px + env(safe-area-inset-bottom)) !important; gap:10px !important;}
}
.kt-reader.mode-dark ~ .kt-rslider .kt-slider-inp,
body:has(.mode-dark) .kt-rslider .kt-slider-inp{background:linear-gradient(#3A322B,#3A322B) center/100% 4px no-repeat !important;}

/* ─── SHEET KAPATMA DÜĞMESİ (X) — fihrist/arama/müellif sheet'leri ──────── */
.rcs-head{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.rcs-x{
  flex:0 0 auto; width:32px !important; height:32px !important; min-width:0 !important; min-height:0 !important;
  display:flex; align-items:center; justify-content:center; padding:0 !important;
  border-radius:50%; background:#F3ECE1; border:1px solid #E6DCCE; color:#8B5A2B;
  font-size:15px; cursor:pointer;
}
.rcs-x:active, .rcs-x:hover{background:rgba(181,101,29,.14);}

/* ─── Tefsir / Hadis bölüm listeleri — 2026-08-03 (Kütüphane çatısına alındı) ─── */
.ktapp .kt-grup-h{display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  margin:20px 16px 8px; font-size:13px; font-weight:700; letter-spacing:.02em; color:var(--espresso);}
.ktapp .kt-grup-h small{font-size:11px; font-weight:500; color:var(--muted); letter-spacing:.04em;}
.ktapp .kt-liste{display:flex; flex-direction:column; gap:8px; padding:0 16px;}
/* "Tümünü gör" satırı — listenin sonunda, kart diliyle ama vurgulu */
.ktapp .kt-krow-more{background:linear-gradient(135deg,rgba(201,122,46,.10),rgba(212,149,106,.14)); border-color:rgba(184,115,51,.28);}
.ktapp .kt-krow-more .kt-kar-tr{color:var(--copper-dark);}
/* Okuyucu ayrımı rozeti — aynı tür altındaki matbu kitapla karışmasın */
.ktapp .kt-rozet{display:inline-flex; align-items:center; gap:4px; align-self:flex-start; margin-top:4px;
  padding:2px 8px; border-radius:999px; font-size:10.5px; font-weight:600;
  background:rgba(184,115,51,.10); border:1px solid rgba(184,115,51,.22); color:var(--copper-dark);}
.ktapp .kt-rozet i{font-size:12px;}

/* ---- kategori sayfalama ------------------------------------------------
   Yalnız /kutuphane/<kategori>/ ve /sayfa/N/ sayfalarında; sunucu basar.
   Öğeler <a> (buton değil): tarayıcının izleyeceği gerçek bağ olmaları gerek.
   Sınıf adları hadis'teki .sayfa-btn'den bilerek AYRI — hadis sayfaları bu
   dosyayı da yüklüyor, aynı ad o sayfalamanın görünümünü değiştirirdi. */
.ktapp .kt-pager{display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:6px; padding:18px 0 4px;}
/* [hidden] tek başına yetmez: .kt-pager'ın display'i UA kuralını yener. */
.ktapp .kt-pager[hidden]{display:none;}
.ktapp .kt-pgb{min-width:38px; min-height:38px; padding:0 12px;
  display:inline-grid; place-items:center; text-decoration:none;
  border:1px solid var(--line); border-radius:11px; background:var(--card);
  color:var(--text2); font-size:13.5px; font-weight:600;
  font-variant-numeric:tabular-nums; transition:border-color .16s, color .16s;}
.ktapp a.kt-pgb:hover{border-color:var(--copper-light); color:var(--copper-dark);}
.ktapp .kt-pgb.aktif{background:var(--copper); border-color:var(--copper); color:#fff;}
.ktapp .kt-pgel{padding:0 4px; color:var(--muted);}
