:root {
  --brand-50:#fef2f2; --brand-100:#fee2e2; --brand-300:#fca5a5; --brand-500:#dc2626; --brand-600:#b91c1c; --brand-700:#991b1b;
  --navy-50:#eef2f7; --navy-100:#dbe4ef; --navy-600:#1c3a63; --navy-700:#152c4d; --navy-800:#0f2038; --navy-900:#0a1526;
  --ink-50:#f7f7f8; --ink-100:#eeeef0; --ink-200:#d9d9de; --ink-300:#c4c4cc; --ink-400:#8b8b99; --ink-500:#6b6b7a;
  --ink-600:#54545f; --ink-700:#44444d; --ink-800:#2b2b31; --ink-900:#18181b; --ink-950:#0c0c0e;
  --font-serif: Georgia, 'Times New Roman', Times, serif;
  --radius:0; --radius-sm:0;
  --shadow:0 1px 2px rgba(10,21,38,.05),0 2px 6px rgba(10,21,38,.06);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin:0; font-family:-apple-system,Segoe UI,Arial,sans-serif;
  color:var(--ink-900); background:#fff; line-height:1.5;
}
a { color:inherit; text-decoration:none; }
.container { max-width:1280px; margin:0 auto; padding:0 16px; }
img { max-width:100%; height:auto; display:block; }

/* 29. tur - Ozellik: Erisilebilirlik - "icerige atla" linki. Ekranin
   disina (-9999px) tasinarak GORSEL OLARAK gizlenir, SADECE klavyeyle
   (Tab tusu) odaklaninca (:focus) tekrar ekrana getirilip gorunur olur -
   fare/dokunmatik kullanicilar icin sayfada HICBIR GORSEL FARK yaratmaz. */
.skip-link {
  position:absolute; left:-9999px; top:0; z-index:9999;
  background:var(--navy-900); color:#fff; padding:10px 18px; border-radius:0 0 8px 0;
  font-weight:700; font-size:.9rem;
}
.skip-link:focus { left:0; }

/* 30. tur - Ozellik: Ilce tercihini sayfalar arasi paylas - "Ilcen X mi?"
   oneri seridi. Zorlayici bir banner DEGIL, kucuk/sade bir kisayol - form
   elemanlarinin USTUNDE, ayni admin-card gorunumunu paylasir. */
.district-suggest-banner {
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  background:var(--navy-50); border:1px solid var(--navy-100); border-radius:10px;
  padding:10px 14px; margin-bottom:14px; font-size:.85rem; color:var(--navy-800);
}
[data-theme="dark"] .district-suggest-banner { background:var(--ink-800); border-color:var(--ink-700); color:var(--ink-100); }

/* Header */
.site-header { position:sticky; top:0; z-index:30; background:#fffffff2; backdrop-filter:blur(6px); border-bottom:1px solid var(--ink-100); box-shadow:0 1px 0 rgba(10,21,38,.03); }
.site-header::before { content:''; display:block; height:3px; background:linear-gradient(90deg,var(--navy-800),var(--navy-600) 55%,var(--brand-600)); }
.header-top { display:flex; align-items:center; justify-content:space-between; height:64px; gap:12px; }
.logo { font-size:1.5rem; font-weight:800; letter-spacing:-.02em; color:var(--navy-900); font-family:var(--font-serif); }
.logo span { color:var(--brand-600); }
.badge-live { background:var(--brand-600); color:#fff; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:4px 10px; border-radius:var(--radius-sm); }
.mobile-menu-btn { display:none; background:none; border:0; font-size:1.4rem; cursor:pointer; }
.category-nav ul { list-style:none; display:flex; gap:4px; margin:0; padding:6px 0; overflow-x:auto; }
.category-nav a { display:block; padding:8px 12px; border-radius:0; font-weight:600; font-size:.86rem; letter-spacing:.01em; color:var(--ink-700); white-space:nowrap; border-bottom:2px solid transparent; transition:border-color .15s, color .15s, background .15s; }
.category-nav a:hover { background:var(--navy-50); color:var(--navy-800); border-bottom-color:var(--brand-600); }

/* Son dakika kayan haber seridi */
.breaking-ticker { display:flex; align-items:stretch; background:var(--ink-950); overflow:hidden; }
.breaking-ticker-label { flex-shrink:0; background:var(--brand-600); color:#fff; font-weight:800; font-size:.75rem; padding:8px 14px; display:flex; align-items:center; white-space:nowrap; }
.breaking-ticker-track { flex:1; overflow:hidden; position:relative; }
.breaking-ticker-inner { display:flex; gap:40px; white-space:nowrap; width:max-content; animation:ticker-scroll 40s linear infinite; padding:8px 0; }
.breaking-ticker-inner a { color:#fff; font-size:.82rem; font-weight:600; opacity:.92; }
.breaking-ticker-inner a:hover { opacity:1; text-decoration:underline; }
.breaking-ticker-track:hover .breaking-ticker-inner { animation-play-state:paused; }
@keyframes ticker-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
[data-theme="dark"] .breaking-ticker { background:#000; }

/* Canli doviz/altin/borsa seridi (Ozellik 3) */
.market-ticker { display:flex; align-items:stretch; background:var(--ink-800); overflow:hidden; border-top:1px solid rgba(255,255,255,.08); }
.market-ticker-label { flex-shrink:0; background:#0f766e; color:#fff; font-weight:800; font-size:.72rem; padding:7px 14px; display:flex; align-items:center; white-space:nowrap; }
.market-ticker-track { flex:1; overflow:hidden; position:relative; }
.market-ticker-inner { display:flex; gap:32px; white-space:nowrap; width:max-content; animation:ticker-scroll 32s linear infinite; padding:7px 0; }
.market-ticker-track:hover .market-ticker-inner { animation-play-state:paused; }
.market-ticker-item { color:#fff; font-size:.78rem; font-weight:600; opacity:.95; display:inline-flex; align-items:center; gap:6px; }
.market-ticker-item strong { font-weight:700; opacity:.8; }
.market-ticker-change { font-size:.72rem; font-weight:800; }
.market-ticker-change.up { color:#4ade80; }
.market-ticker-change.down { color:#f87171; }
[data-theme="dark"] .market-ticker { background:#0a0a0a; }

/* Header arama kutusu */
.header-search { display:flex; align-items:center; flex:1; max-width:340px; background:var(--ink-50); border:1px solid var(--ink-100); border-radius:0; padding:2px 4px 2px 14px; }
.header-search input { border:0; background:transparent; padding:6px 4px; font-size:.85rem; width:100%; }
.header-search input:focus { outline:none; }
.header-search button { background:none; border:0; cursor:pointer; font-size:.95rem; padding:6px 10px; border-radius:0; }
.header-search button:hover { background:var(--brand-50); }
@media (max-width:640px) { .header-search { display:none; } }

/* Arama sonuc sayfasi */
.search-form { display:flex; gap:8px; max-width:480px; }
.search-form input { flex:1; }

@media (max-width:768px) {
  .category-nav { display:none; }
  .mobile-menu-btn { display:block; }
  .category-nav.open { display:block; position:fixed; inset:64px 0 0 0; background:#fff; overflow-y:auto; z-index:40; }
  .category-nav.open ul { flex-direction:column; padding:12px 16px; }
  .category-nav.open a { padding:14px 4px; border-bottom:1px solid var(--ink-100); border-radius:0; }
}

/* Cards / grid */
.news-grid { display:grid; grid-template-columns:1fr; gap:20px; }
@media (min-width:640px) { .news-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:1024px) { .news-grid { grid-template-columns:1fr 1fr 1fr; } }
.card { border:1px solid var(--ink-100); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); overflow:hidden; transition:box-shadow .2s, border-color .2s; }
.card:hover { box-shadow:0 8px 20px -4px rgba(10,21,38,.14); border-color:var(--ink-200); }
.card-img { position:relative; aspect-ratio:16/9; background:var(--ink-100); overflow:hidden; }
.card-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.card:hover .card-img img { transform:scale(1.05); }
.card-body { padding:16px; }

/* Kaydedilenler / Sonra Oku (Ozellik 1) - kart uzerindeki yer imi ikonu */
.card-save-btn { position:absolute; top:8px; right:8px; width:32px; height:32px; border-radius:0; border:0; background:rgba(17,17,17,.55); color:#fff; font-size:.95rem; display:flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(2px); transition:background .15s, transform .15s; z-index:2; }
.card-save-btn:hover { transform:scale(1.08); }
.card-save-btn.is-saved { background:var(--brand-600); }
.share-save.is-saved { background:var(--brand-600) !important; }
.saved-list-grid { display:grid; gap:18px; grid-template-columns:1fr; margin-top:20px; }
@media (min-width:640px) { .saved-list-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:1024px) { .saved-list-grid { grid-template-columns:1fr 1fr 1fr; } }
.saved-card { position:relative; border:1px solid var(--ink-100); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); overflow:hidden; }
[data-theme="dark"] .saved-card { background:var(--ink-900); border-color:var(--ink-800); }
.saved-card-link { display:block; color:inherit; }
.saved-card-img { aspect-ratio:16/9; background:var(--ink-100); overflow:hidden; }
.saved-card-img img { width:100%; height:100%; object-fit:cover; }
.saved-card-body { padding:14px 16px; }
.saved-card-body h3 { font-size:1rem; margin:0; line-height:1.3; font-family:var(--font-serif); font-weight:700; }
.saved-card-remove { position:absolute; top:8px; right:8px; width:30px; height:30px; border-radius:0; border:0; background:rgba(17,17,17,.55); color:#fff; cursor:pointer; z-index:2; }
.saved-card-remove:hover { background:#b91c1c; }
.saved-empty { text-align:center; color:var(--ink-400); padding:48px 20px; border:1px dashed var(--ink-200); border-radius:var(--radius); margin-top:20px; }

/* Sesli Bulten (Ozellik 2) */
.bulletin-item { display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--ink-100); border-radius:var(--radius); background:#fff; margin-bottom:12px; transition:box-shadow .2s, border-color .2s; }
[data-theme="dark"] .bulletin-item { background:var(--ink-900); border-color:var(--ink-800); }
.bulletin-item.is-playing { border-color:var(--brand-500); box-shadow:0 0 0 3px rgba(220,38,38,.12); }
.bulletin-item-num { flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--ink-100); color:var(--ink-600); font-weight:800; font-size:.85rem; display:flex; align-items:center; justify-content:center; }
.bulletin-item.is-playing .bulletin-item-num { background:var(--brand-600); color:#fff; }
.bulletin-item-body { flex:1; min-width:0; }
.bulletin-item-body h3 { font-size:1rem; margin:2px 0 4px; }
.bulletin-item-body p { color:var(--ink-500); font-size:.85rem; margin:0 0 4px; }
.bulletin-item-play { flex-shrink:0; width:38px; height:38px; border-radius:0; border:1px solid var(--ink-200); background:#fff; cursor:pointer; font-size:1rem; }
.bulletin-item-play:hover { background:var(--ink-50); }
.card-cat { display:inline-block; background:var(--brand-50); color:var(--brand-700); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:3px 10px; border-radius:999px; }
[data-theme="dark"] .card-cat { background:rgba(185,28,28,.18); color:#fca5a5; }
.card h3 { font-size:1.05rem; margin:8px 0 6px; line-height:1.3; font-family:var(--font-serif); font-weight:700; }
.card p { color:var(--ink-500); font-size:.9rem; margin:0 0 8px; }
.card time { color:var(--ink-400); font-size:.78rem; }
.card-views { color:var(--ink-400); font-size:.78rem; }

/* En cok okunanlar */
.most-read { background:var(--ink-50); border:1px solid var(--ink-100); border-left:3px solid var(--navy-700); border-radius:var(--radius); padding:20px 24px; margin-bottom:32px; }
.most-read h2 { margin:0 0 12px; font-size:1.1rem; font-family:var(--font-serif); font-weight:800; }
.most-read ol { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.most-read li { display:flex; align-items:center; gap:12px; }
.most-read-rank { flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--brand-600); color:#fff; font-weight:800; font-size:.8rem; display:flex; align-items:center; justify-content:center; }
.most-read li a { flex:1; font-weight:600; font-size:.92rem; }
.most-read li a:hover { color:var(--brand-600); }
.most-read-views { flex-shrink:0; color:var(--ink-400); font-size:.75rem; white-space:nowrap; }

/* Spor puan durumu widget'i (Ozellik 4) */
.sports-table { width:100%; border-collapse:collapse; font-size:.8rem; }
.sports-table th { text-align:center; color:var(--ink-400); font-weight:700; font-size:.7rem; padding:4px 6px; border-bottom:1px solid var(--ink-100); }
.sports-table td { text-align:center; padding:6px; border-bottom:1px solid var(--ink-100); }
[data-theme="dark"] .sports-table th, [data-theme="dark"] .sports-table td { border-bottom-color:var(--ink-800); }
.sports-table tbody tr:last-child td { border-bottom:0; }
.sports-table .sports-team { text-align:left; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:140px; }
.sports-table tbody tr:nth-child(-n+4) .sports-team { color:var(--brand-600); }
[data-theme="dark"] .sports-table tbody tr:nth-child(-n+4) .sports-team { color:#fca5a5; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:0; border-radius:var(--radius-sm); padding:10px 18px; font-weight:700; font-size:.9rem; cursor:pointer; }
.btn-primary { background:var(--brand-600); color:#fff; letter-spacing:.01em; }
.btn-primary:hover { background:var(--brand-700); }
.btn-outline { background:#fff; border:1px solid var(--ink-200); color:var(--ink-800); }
.btn-sm { padding:8px 14px; font-size:.82rem; }
.btn-icon { background:none; border:0; cursor:pointer; font-size:1rem; padding:6px; }

/* Hero */
.hero { display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--ink-100); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
@media (min-width:768px) { .hero { grid-template-columns:1fr 1fr; } }
.hero-img { aspect-ratio:16/9; background:var(--ink-100); }
.hero-img img { width:100%; height:100%; object-fit:cover; }
.hero-body { padding:28px; display:flex; flex-direction:column; justify-content:center; }
[data-theme="dark"] .hero { background:var(--ink-900); border-color:var(--ink-800); }
[data-theme="dark"] .hero-body p { color:var(--ink-300) !important; }
.hero-body h1 { font-size:clamp(1.5rem,3vw,2.2rem); margin:10px 0; line-height:1.15; font-family:var(--font-serif); font-weight:800; letter-spacing:-.01em; }

/* Mansat carousel (Ozellik 9 + Editorun Sectikleri) */
.hero-carousel { position:relative; margin-bottom:32px; }
/* DUZELTME: eskiden align-items varsayilani (stretch) TUM slaytlari, en uzun
   baslikli slaytin yuksekligine zorluyordu - baslik kisa oldugunda metin
   devasa bos bir kutunun ortasinda kalip mobilde "bozuk/sacma" gorunuyordu.
   align-items:flex-start ile her slayt KENDI dogal yuksekligini alir; asagida
   main.js, aktif slayta gore .hero-track'in height'ini JS ile senkronize eder
   (bkz. syncHeroHeight()) - boylece kutu, o an gorunen slaytin boyuna gore
   YUMUSAKCA (height transition ile) buyuyup kuculur, sabit/asiri buyuk
   bosluk kalmaz. */
.hero-track { display:flex; align-items:flex-start; overflow:hidden; border-radius:var(--radius); cursor:grab; touch-action:pan-y; user-select:none; transition:transform .5s ease, height .35s ease; }
.hero-track:active { cursor:grabbing; }
.hero-slide { flex:0 0 100%; min-width:100%; margin-bottom:0; border-radius:0; transition:none; }
.hero-dots { display:flex; justify-content:center; gap:2px; margin-top:12px; }
.hero-dot { width:24px; height:24px; border-radius:50%; border:0; background:transparent; cursor:pointer; padding:0; display:flex; align-items:center; justify-content:center; }
.hero-dot::after { content:''; width:9px; height:9px; border-radius:50%; background:var(--ink-200); transition:width .15s, border-radius .15s, background .15s; }
[data-theme="dark"] .hero-dot::after { background:var(--ink-700); }
.hero-dot.active::after { background:var(--brand-600); width:22px; border-radius:5px; }

/* Article */
.article-wrap { display:grid; gap:32px; }
@media (min-width:1024px) { .article-wrap { grid-template-columns:1fr 300px; } }
.article-body { max-width:700px; }
.article-body h1 { font-family:var(--font-serif); font-size:clamp(1.6rem,3.2vw,2.35rem); font-weight:800; line-height:1.22; letter-spacing:-.01em; margin:6px 0 14px; color:var(--ink-950); }
.article-body p { font-size:calc(1.05rem * var(--article-font-scale, 1)); line-height:1.75; color:var(--ink-800); margin:0 0 18px; }
.article-body .spot-sentence { border-left:4px solid var(--brand-500); background:rgba(254,242,242,.6); padding:12px 16px; border-radius:0 8px 8px 0; margin:20px 0; font-size:calc(1.1rem * var(--article-font-scale, 1)); font-weight:600; }
[data-theme="dark"] .article-body .spot-sentence { background:rgba(185,28,28,.14); color:var(--ink-100); }
.article-body ul { padding-left:20px; margin:0 0 18px; }
.article-body li { margin-bottom:8px; font-size:calc(1rem * var(--article-font-scale, 1)); }
.breadcrumb { font-size:.85rem; color:var(--ink-500); margin-bottom:14px; }
.breadcrumb a:hover { color:var(--brand-600); }
.sources-box { background:var(--ink-50); border:1px solid var(--ink-100); border-radius:10px; padding:14px; font-size:.8rem; color:var(--ink-500); margin-top:24px; }
[data-theme="dark"] .sources-box { background:var(--ink-900); border-color:var(--ink-800); }

/* Sosyal medya paylasim butonlari */
.share-box { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:28px; padding-top:20px; border-top:1px solid var(--ink-100); }
.share-label { font-weight:700; font-size:.85rem; color:var(--ink-600); }
.share-btn { display:inline-flex; align-items:center; padding:8px 16px; border-radius:0; font-size:.82rem; font-weight:700; color:#fff; }
.share-whatsapp { background:#25D366; }
.share-x { background:#000; }
.share-facebook { background:#1877F2; }
.share-telegram { background:#229ED9; }
.share-copy, .share-print { background:var(--ink-700); border:0; cursor:pointer; font-family:inherit; }
.active-readers-badge { color:#059669; font-weight:700; }

/* Yazdirma: sadece haber govdesi basilsin, navigasyon/reklam/footer/ticker gizlensin */
@media print {
  .site-header, .breaking-ticker, .market-ticker, .push-bar, .consent-banner, .newsletter-box,
  .site-footer, .ad-slot, .share-box, .tag-list details, .most-read, main > .news-grid,
  #category-nav { display:none !important; }
  .article-body { max-width:100%; }
}
.share-btn:hover { opacity:.88; }

/* Ads */
.ad-slot { display:flex; align-items:center; justify-content:center; background:var(--ink-50); border-radius:10px; color:var(--ink-400); font-size:.72rem; min-height:90px; margin:20px 0; }
[data-theme="dark"] .ad-slot { background:var(--ink-900); }
/* DUZELTME: width:300px sabitti - .article-wrap grid'i 1024px altinda tek
   sutuna dustugunde (bkz. yukarida .article-wrap) sidebar div'i tam genislige
   yayiliyor ama icindeki reklam kutusu yine de 300px'de kalmaya calisiyordu.
   Dar telefonlarda (~320-360px genislik, .container padding'i sonrasi
   ~288-328px kullanilabilir alan) bu, sayfada yatay tasmaya (horizontal
   scroll) yol aciyordu. Ayrica position:sticky, masaustunde icerigin
   YANINDA dururken mantikliyken, mobilde icerigin ALTINA yigildiginda
   (tek sutun) hicbir ise yaramiyor, sadece asagi kaydirirken reklamin
   garip sekilde "yapisip" footer'in ustune binmesine sebep olabiliyordu -
   bu yuzden sticky sadece masaustu breakpoint'inde (min-width:1024px)
   aktif. */
.ad-slot-sidebar { width:100%; max-width:300px; min-height:600px; margin-left:auto; margin-right:auto; }
@media (min-width:1024px) {
  .ad-slot-sidebar { position:sticky; top:90px; margin-left:0; margin-right:0; }
}
.ad-slot-header { max-width:728px; min-height:90px; margin:12px auto; }
.ad-slot-inline { max-width:700px; }

/* 16. tur - Reklam rayi: masaustunde 3 ek sidebar reklami (toplam 4), mobilde
   tamamen gizli (mobil reklam sayisi = 4: above_article + in_article_1 +
   in_article_2 + below_article, sidebar mobilde gosterilmez). */
.ad-rail { display:none; }
@media (min-width:1024px) {
  .ad-rail { display:flex; flex-direction:column; gap:28px; }
}
.ad-slot-rail { width:300px; min-height:250px; margin:0; }

/* Consent + push bars - ikisi de sabit (fixed) konumlu "toast" seklindedir,
   boylece gorunur/gizli olma durumlari sayfanin ust kismindaki sticky header'i
   ASLA kaydirmaz/itmez (onceki versiyonda menu kaymasina sebep olan sorun buydu). */
.push-bar {
  position:fixed; left:0; right:0; bottom:0; z-index:55;
  background:var(--brand-50); border-top:1px solid var(--brand-100);
  box-shadow:0 -4px 16px rgba(0,0,0,.08);
  transform:translateY(100%); transition:transform .3s ease;
}
[data-theme="dark"] .push-bar { background:var(--ink-900); border-top-color:var(--ink-800); }
[data-theme="dark"] .push-bar p, [data-theme="dark"] .push-bar span { color:var(--ink-100); }
.push-bar.show { transform:translateY(0); }
.push-bar-inner, .consent-inner { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; flex-wrap:wrap; }
.push-bar-actions, .consent-actions { display:flex; gap:8px; align-items:center; flex-shrink:0; }
.consent-banner {
  position:fixed; left:0; right:0; bottom:0; z-index:50;
  background:#fffffffa; border-top:1px solid var(--ink-200); box-shadow:0 -4px 16px rgba(0,0,0,.08);
  transform:translateY(100%); transition:transform .3s ease, bottom .3s ease;
}
.consent-banner.show { transform:translateY(0); }
.consent-banner p { margin:0; font-size:.88rem; color:var(--ink-600); }

/* Footer */
.newsletter-box { margin-top:60px; background:var(--ink-50); border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); }
.newsletter-box input[type="email"] { padding:9px 12px; border:1px solid var(--ink-100); border-radius:8px; font-size:.9rem; }
.site-footer { margin-top:0; background:var(--navy-900); color:var(--ink-400); border-top:3px solid var(--brand-600); }
.footer-grid { display:grid; gap:32px; padding:40px 16px; grid-template-columns:1fr; }
@media (min-width:768px) { .footer-grid { grid-template-columns:repeat(4,1fr); } }
.footer-logo { font-size:1.3rem; font-weight:800; letter-spacing:-.01em; color:#fff; font-family:var(--font-serif); }
.footer-logo span { color:var(--brand-500); }
.footer-desc { font-size:.85rem; margin-top:8px; }
.site-footer h3 { color:var(--ink-300); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; margin-bottom:10px; }
.site-footer ul { list-style:none; padding:0; margin:0; font-size:.85rem; }
.site-footer li { margin-bottom:8px; }
.site-footer a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:16px; font-size:.75rem; }

/* Legal pages */
.legal-page { max-width:700px; margin:0 auto; padding:40px 16px; }
.legal-page h1 { font-size:1.8rem; margin-bottom:20px; font-family:var(--font-serif); font-weight:800; }
.legal-page h2 { font-size:1.2rem; margin:24px 0 10px; font-family:var(--font-serif); font-weight:700; }
.legal-page table { width:100%; border-collapse:collapse; font-size:.88rem; }
.legal-page th, .legal-page td { border:1px solid var(--ink-200); padding:10px; text-align:left; }

/* Admin */
.admin-shell { display:flex; min-height:100vh; background:var(--ink-50); }
.admin-sidebar { width:240px; background:#fff; border-right:1px solid var(--ink-100); padding:16px; flex-shrink:0; }
.admin-sidebar .logo { display:block; margin-bottom:20px; }
.admin-nav a { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; color:var(--ink-600); font-weight:600; font-size:.9rem; margin-bottom:2px; }
.admin-nav a:hover, .admin-nav a.active { background:var(--brand-50); color:var(--brand-700); }
.admin-main { flex:1; padding:28px; min-width:0; }

@media (max-width:768px) {
  .admin-shell { flex-direction:column; }
  .admin-sidebar { width:100%; border-right:0; border-bottom:1px solid var(--ink-100); padding:12px; }
  .admin-sidebar > .logo { margin-bottom:10px; }
  .admin-nav { display:flex; gap:4px; overflow-x:auto; }
  .admin-nav a { white-space:nowrap; margin-bottom:0; }
  .admin-sidebar form { margin-top:10px !important; border-top:0 !important; padding-top:0 !important; }
  .admin-main { padding:16px; }
  table.admin-table { display:block; overflow-x:auto; white-space:nowrap; }
}
.admin-card { background:#fff; border:1px solid var(--ink-100); border-radius:12px; padding:20px; margin-bottom:20px; }
.stat-grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); margin-bottom:24px; }
.stat-card { background:#fff; border:1px solid var(--ink-100); border-radius:12px; padding:18px; }
.stat-card .num { font-size:1.9rem; font-weight:900; }
table.admin-table { width:100%; border-collapse:collapse; font-size:.87rem; }
table.admin-table th { text-align:left; background:var(--ink-50); padding:10px; color:var(--ink-500); }
table.admin-table td { padding:10px; border-top:1px solid var(--ink-100); }
/* ONEMLI: "input, textarea, select { width:100% }" kurali ESKIDEN checkbox/
   radio girdilerini de kapsiyordu. Bir checkbox %100 genislik almaya
   calisinca (flex icindeyse bu, flex-basis olarak konteynerin TUM
   genisligini istemesi anlamina gelir) yan yana duran diger elemanlari
   (orn. icerikler.php'deki haber kartlarinda checkbox + baslik/ozet + aksiyon
   ikonlari satiri) neredeyse sifir genisliğe sikistirip METNIN HER KELIMESI
   AYRI SATIRA DUsecek sekilde daralmasina ve sagda dar bir seride
   yigilmasina yol aciyordu - bildirilen "bozuk tema" gorunumunun asil
   nedeni buydu. Checkbox/radio dogal (icerigine gore) genislikte kalmali. */
input:not([type="checkbox"]):not([type="radio"]), textarea, select {
  font-family:inherit; font-size:.9rem; padding:9px 12px; border:1px solid var(--ink-200); border-radius:8px; width:100%;
}
input[type="checkbox"], input[type="radio"] { width:auto; accent-color:var(--brand-600); }
label { font-weight:600; font-size:.85rem; display:block; margin-bottom:6px; }
.form-group { margin-bottom:14px; }
.login-page { background:var(--ink-50); min-height:100vh; }
.login-box { max-width:380px; margin:80px auto; background:#fff; border:1px solid var(--ink-100); border-radius:14px; padding:32px; box-shadow:var(--shadow); }
.alert { background:var(--brand-50); color:var(--brand-700); padding:10px 14px; border-radius:8px; font-size:.85rem; margin-bottom:16px; }
.pill { display:inline-block; padding:4px 12px; border-radius:999px; font-size:.75rem; font-weight:700; }
.pill-active { background:#d1fae5; color:#047857; }
[data-theme="dark"] .pill-active { background:rgba(5,150,105,.18); color:#6ee7b7; }
.pill-inactive { background:var(--ink-100); color:var(--ink-500); }
.tabs { display:flex; gap:8px; margin-bottom:16px; }
.tabs a { padding:8px 16px; border-radius:0; font-size:.85rem; font-weight:600; border:1px solid var(--ink-200); color:var(--ink-600); }
.tabs a.active { background:var(--brand-600); color:#fff; border-color:var(--brand-600); }

.header-social { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.social-icon-btn {
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; flex-shrink:0; border:1px solid var(--ink-200);
  border-radius:var(--radius-sm); background:#fff; color:var(--ink-500);
  transition:background .15s, border-color .15s, color .15s, transform .15s;
}
.social-icon-btn:hover { transform:translateY(-1px); box-shadow:var(--shadow); }
.social-icon-telegram { color:#229ED9; }
.social-icon-telegram:hover { background:#229ED9; color:#fff; border-color:#229ED9; }
.social-icon-instagram { color:#E1306C; }
.social-icon-instagram:hover { background:#E1306C; color:#fff; border-color:#E1306C; }
[data-theme="dark"] .social-icon-btn { background:var(--ink-900); border-color:var(--ink-700); }
[data-theme="dark"] .social-icon-telegram { color:#5bc2ef; }
[data-theme="dark"] .social-icon-instagram { color:#f2699b; }
@media (max-width:480px) { .header-social { display:none; } }

.theme-toggle {
  display:flex; align-items:center; justify-content:center;
  background:var(--ink-50); border:1px solid var(--ink-200); border-radius:var(--radius-sm);
  width:34px; height:34px; cursor:pointer; padding:0; color:var(--navy-800); flex-shrink:0;
  transition:background .15s, border-color .15s, color .15s, transform .1s;
}
.theme-toggle svg { transition:transform .35s ease; }
.theme-toggle.spin svg { transform:rotate(180deg); }
.theme-toggle:hover { background:var(--navy-900); border-color:var(--navy-900); color:#fff; }
.theme-toggle:active { transform:scale(.92); }

/* --- Karanlik Mod ---
   Sayfa <head>'inde kucuk bir inline script, localStorage'daki tercihe gore
   <html data-theme="dark"> ozniteligini CSS yuklenmeden hemen once ekler
   (yanip-sonme/FOUC olmasin diye). Buradaki kurallar acik renk paletinin
   uzerine yazarak (override) karanlik tema saglar - renk DEGISKENLERI degil,
   dogrudan bilesenler hedeflenir cunku bircok yerde renk sabit (#fff) yazili. */
[data-theme="dark"] body { background:var(--ink-950); color:var(--ink-100); }
[data-theme="dark"] .site-header { background:#0c0c0ef2; border-bottom-color:var(--ink-800); }
[data-theme="dark"] .logo { color:#fff; }
[data-theme="dark"] .theme-toggle { background:var(--ink-800); border-color:var(--ink-700); color:#fbbf24; }
[data-theme="dark"] .theme-toggle:hover { background:var(--brand-600); border-color:var(--brand-600); color:#fff; }
[data-theme="dark"] .category-nav a { color:var(--ink-200); }
[data-theme="dark"] .category-nav a:hover { background:var(--ink-800); color:#fff; }
[data-theme="dark"] .category-nav.open { background:var(--ink-950); }
[data-theme="dark"] .header-search { background:var(--ink-800); border-color:var(--ink-700); }
[data-theme="dark"] .header-search input { color:#fff; }
[data-theme="dark"] .card, [data-theme="dark"] .admin-card, [data-theme="dark"] .stat-card,
[data-theme="dark"] .admin-sidebar, [data-theme="dark"] .login-box {
  background:var(--ink-900); border-color:var(--ink-800); color:var(--ink-100);
}
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3 { color:#fff; }
[data-theme="dark"] .card-body p, [data-theme="dark"] .article-body,
[data-theme="dark"] .breadcrumb, [data-theme="dark"] time, [data-theme="dark"] .footer-desc {
  color:var(--ink-200);
}
[data-theme="dark"] .btn-outline { background:var(--ink-800); color:var(--ink-100); border-color:var(--ink-700); }
[data-theme="dark"] input, [data-theme="dark"] textarea, [data-theme="dark"] select {
  background:var(--ink-800); border-color:var(--ink-700); color:#fff;
}
[data-theme="dark"] .consent-banner { background:#18181bfa; border-top-color:var(--ink-700); }
[data-theme="dark"] .consent-banner p { color:var(--ink-200); }
[data-theme="dark"] .newsletter-box { background:var(--ink-900); border-color:var(--ink-800); }
[data-theme="dark"] .newsletter-box p { color:var(--ink-300) !important; }
[data-theme="dark"] .tag-list a { background:var(--ink-800); color:var(--ink-200); }
[data-theme="dark"] .most-read { background:var(--ink-900); }

/* --- Admin panelinde karanlik mod --------------------------------------
   Admin paneli eskiden karanlik mod script/dugmesini hic yuklemiyordu, bu
   yuzden asagidaki bilesenlere (nav linkleri, tablo basliklari, sekmeler,
   rozetler) hic dark-mode karsiligi yazilmamisti. Dugme artik eklendigi
   icin (bkz. mgmt-b0033c66c6/_layout_top.php) bu bilesenlerin de karanlik
   modda okunakli olmasi gerekiyor - eksik oldugunda orn. koyu lacivert
   kenar cubugu uzerinde HALA acik/gri renkli menu yazilari ya da koyu
   kartin icinde parlak beyaz bir tablo basligi gibi dusuk kontrastli/
   "bozuk" gorunen alanlar olusuyordu. */
[data-theme="dark"] .login-page { background:var(--ink-950); }
[data-theme="dark"] .admin-nav a { color:var(--ink-300); }
[data-theme="dark"] .admin-nav a:hover, [data-theme="dark"] .admin-nav a.active {
  background:var(--ink-800); color:#fff;
}
table.admin-table th, table.admin-table td { color: inherit; }
[data-theme="dark"] table.admin-table th { background:var(--ink-800); color:var(--ink-200); }
[data-theme="dark"] table.admin-table td { border-top-color:var(--ink-800); }
[data-theme="dark"] .tabs a { border-color:var(--ink-700); color:var(--ink-300); }
[data-theme="dark"] .tabs a.active { background:var(--brand-600); color:#fff; border-color:var(--brand-600); }
[data-theme="dark"] .pill-inactive { background:var(--ink-800); color:var(--ink-300); }
[data-theme="dark"] .alert { background:var(--ink-800); color:var(--ink-100); }
[data-theme="dark"] .btn-icon { color:var(--ink-200); }
[data-theme="dark"] label { color:var(--ink-200); }
[data-theme="dark"] code { background:var(--ink-800); color:var(--ink-100); }

/* ============================================================
   7. tur - 10 yeni ozellik icin stiller
   ============================================================ */

/* Ozellik 3: reklamsiz odul toast bildirimi */
.adfree-toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px);
  background: var(--ink-900); color: #fff; padding: 12px 20px; border-radius: 999px;
  font-size: .85rem; font-weight: 600; box-shadow: 0 8px 24px rgba(0,0,0,.25);
  opacity: 0; transition: opacity .3s ease, transform .3s ease; z-index: 9999; max-width: 90vw;
}
.adfree-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* Ozellik 6: hiz rozeti (footer) */
.speed-badge {
  display: inline-flex; align-items: center; gap: 6px; background: var(--ink-100);
  color: var(--ink-500); padding: 5px 12px; border-radius: 999px; font-size: .74rem;
  font-weight: 700; margin-top: 10px;
}
[data-theme="dark"] .speed-badge { background: var(--ink-800); color: var(--ink-300); }

/* Ozellik 4: editor seffaflik notu */
.editor-note-box {
  background: #eff6ff; border-left: 4px solid #2563eb; border-radius: 8px;
  padding: 10px 16px; margin-bottom: 16px; font-size: .85rem; color: #1e3a8a;
}
[data-theme="dark"] .editor-note-box { background: var(--ink-800); color: var(--ink-100); border-left-color: #3b82f6; }

/* Ozellik 2: okuyucu kaynakli rozet */
.badge-reader-sourced {
  display: inline-block; background: #f59e0b; color: #fff; font-size: .65rem;
  font-weight: 800; padding: 3px 9px; border-radius: 999px; letter-spacing: .02em;
}

/* 9. tur - Ozellik 1: Coklu Kaynak Dogrulama rozeti */
.badge-verified {
  display: inline-block; background: #059669; color: #fff; font-size: .65rem;
  font-weight: 800; padding: 3px 9px; border-radius: 999px; letter-spacing: .02em;
}

/* 11. tur - Ozellik 7: Ilk Biz Yazdik scoop zaman damgasi */
.badge-scoop {
  display: inline-block; background: var(--ink-900); color: #fff; font-size: .65rem;
  font-weight: 700; padding: 3px 9px; border-radius: 999px; letter-spacing: .02em;
  text-decoration: none; font-family: monospace;
}
.badge-scoop:hover { background: var(--brand-600); }
[data-theme="dark"] .badge-scoop { background: var(--ink-700); }

/* 9. tur - Ozellik 2: Zit Gorus linki */
.opposing-view-box {
  display: flex; flex-direction: column; gap: 3px; background: var(--ink-50, #f8fafc);
  border: 1px dashed var(--ink-200); border-radius: 10px; padding: 12px 16px;
  margin: 18px 0; text-decoration: none; transition: border-color .15s;
}
.opposing-view-box:hover { border-color: var(--brand-600); }
.opposing-view-label { font-size: .72rem; font-weight: 800; color: var(--brand-600); text-transform: uppercase; letter-spacing: .03em; }
.opposing-view-title { font-size: .92rem; font-weight: 600; color: var(--ink-700); }
[data-theme="dark"] .opposing-view-box { background: var(--ink-800); border-color: var(--ink-700); }
[data-theme="dark"] .opposing-view-title { color: var(--ink-100); }

/* 9. tur - Ozellik 3: Okuma Molasi */
.reading-pause-box {
  display: flex; gap: 12px; align-items: flex-start; background: var(--brand-50, #eff6ff);
  border-radius: 12px; padding: 14px 18px; margin: 22px 0;
}
.reading-pause-icon { font-size: 1.4rem; line-height: 1; }
.reading-pause-box strong { display: block; font-size: .88rem; margin-bottom: 3px; color: var(--ink-700); }
.reading-pause-box p { margin: 0; font-size: .85rem; color: var(--ink-500); }
[data-theme="dark"] .reading-pause-box { background: var(--ink-800); }
[data-theme="dark"] .reading-pause-box strong { color: var(--ink-100); }

/* 9. tur - Ozellik 9: Zor kelime tooltip */
.glossary-term {
  border-bottom: 1px dashed var(--brand-600); cursor: help;
}

/* 9. tur - Ozellik 4: Beni Sasirt kose butonu */
.surprise-btn {
  position: fixed; right: 18px; bottom: 18px; z-index: 40; width: 50px; height: 50px;
  border-radius: 0; border: none; background: var(--ink-900); color: #fff; font-size: 1.35rem;
  cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.25); display: flex; align-items: center;
  justify-content: center; transition: transform .15s;
}
.surprise-btn:hover { transform: scale(1.08); }
.surprise-btn.is-loading { animation: surprise-spin .6s linear infinite; }
@keyframes surprise-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* 9. tur - Ozellik 7: Emoji Nabiz */
.reaction-bar { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.reaction-btn {
  display: flex; align-items: center; gap: 6px; background: var(--ink-100); border: 1px solid transparent;
  border-radius: 0; padding: 6px 14px; font-size: .95rem; cursor: pointer; color: var(--ink-700);
}
.reaction-btn:disabled { cursor: default; opacity: .75; }
.reaction-btn.is-active { border-color: var(--brand-600); background: var(--brand-50, #eff6ff); font-weight: 700; }
.reaction-count { font-size: .78rem; color: var(--ink-500); }
[data-theme="dark"] .reaction-btn { background: var(--ink-800); color: var(--ink-100); }

/* 9. tur - Ozellik 8: Zaman Kapsulu takip butonu */
.follow-story-btn {
  display: inline-flex; align-items: center; gap: 6px; background: var(--ink-100); border: 1px solid transparent;
  border-radius: 0; padding: 6px 14px; font-size: .82rem; font-weight: 700; cursor: pointer; color: var(--ink-700);
  margin: 6px 0 4px;
}
.follow-story-btn.is-following { background: var(--brand-600); color: #fff; }
[data-theme="dark"] .follow-story-btn { background: var(--ink-800); color: var(--ink-100); }

/* 9. tur - Ozellik 6: Sesli yorum */
.voice-comment-box { display: flex; align-items: center; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.voice-status { font-size: .78rem; color: var(--ink-500); }

/* 10. tur - Ozellik 1: Odak Modu */
#focus-overlay { position: fixed; inset: 0; z-index: 500; background: #fff; overflow-y: auto; }
[data-theme="dark"] #focus-overlay { background: var(--ink-950); }
body.focus-mode-active { overflow: hidden; }
.focus-toolbar {
  position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center;
  padding: 14px 20px; background: inherit; border-bottom: 1px solid var(--ink-100); z-index: 1;
}
.focus-toolbar button { background: var(--ink-100); border: none; border-radius: 8px; padding: 6px 12px; font-weight: 700; cursor: pointer; color: var(--ink-700); }
.focus-font-controls { display: flex; gap: 6px; }
[data-theme="dark"] .focus-toolbar button { background: var(--ink-800); color: var(--ink-100); }
.focus-article { max-width: 680px; margin: 0 auto; padding: 30px 20px 100px; line-height: 1.8; color: var(--ink-900); }
[data-theme="dark"] .focus-article { color: var(--ink-100); }
.focus-article h1 { font-size: 1.8rem; margin-bottom: 24px; }

/* 10. tur - Ozellik 2: Konu Zaman Cizelgesi */
.timeline { position: relative; padding-left: 28px; border-left: 2px solid var(--ink-100); }
.timeline-item { position: relative; padding-bottom: 28px; }
.timeline-dot {
  position: absolute; left: -34px; top: 4px; width: 12px; height: 12px; border-radius: 50%;
  background: var(--brand-600); display: flex; align-items: center; justify-content: center; font-size: .6rem;
}
.timeline-date { display: block; font-size: .72rem; color: var(--ink-400); font-weight: 700; margin-bottom: 4px; }
.timeline-title { display: block; font-weight: 700; color: var(--ink-900); text-decoration: none; margin-bottom: 4px; }
.timeline-title:hover { color: var(--brand-600); }
.timeline-summary { margin: 0; font-size: .85rem; color: var(--ink-500); }
[data-theme="dark"] .timeline-title { color: var(--ink-100); }
[data-theme="dark"] .timeline { border-left-color: var(--ink-800); }

/* 10. tur - Ozellik 3: Bolgesel Hava Durumu Seridi */
.weather-strip {
  align-items: center; gap: 4px; background: var(--ink-100); color: var(--ink-700);
  font-size: .78rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap;
}
[data-theme="dark"] .weather-strip { background: var(--ink-800); color: var(--ink-100); }

/* 28. tur - Ozellik: 5 gunluk hava durumu tahmini - weather-strip'e tiklaninca
   acilan kucuk dropdown panel (modal/popup DEGIL - sayfa akisini engellemez,
   disariya tiklayinca kapanir). */
.weather-forecast-panel {
  position: absolute; top: calc(100% + 6px); left: 0; z-index: 50;
  background: #fff; border: 1px solid var(--ink-200); border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,.12); padding: 10px 12px; min-width: 230px;
}
[data-theme="dark"] .weather-forecast-panel { background: var(--ink-900); border-color: var(--ink-700); }
.weather-forecast-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 0; font-size: .8rem; border-bottom: 1px solid var(--ink-100); }
.weather-forecast-row:last-child { border-bottom: none; }
[data-theme="dark"] .weather-forecast-row { border-bottom-color: var(--ink-800); }
.weather-forecast-day { font-weight: 700; color: var(--ink-700); min-width: 46px; }
[data-theme="dark"] .weather-forecast-day { color: var(--ink-100); }
.weather-forecast-desc { color: var(--ink-500); flex: 1; text-align: center; }
.weather-forecast-temps { font-weight: 700; color: var(--ink-900); white-space: nowrap; }
[data-theme="dark"] .weather-forecast-temps { color: var(--ink-100); }
/* 31. tur - Ozellik: Gun dogumu/batimi saatleri - forecast panelin en ustunde,
   diger gunluk satirlardan ayirt edilsin diye biraz daha kalin bir alt cizgi. */
.weather-forecast-sun { font-weight: 600; border-bottom-width: 2px; justify-content: space-around; }

/* 10. tur - Ozellik 4: Ekonomi Rakam Karti */
.economy-card-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--ink-100); font-size: .88rem; }
.economy-card-row:last-child { border-bottom: none; }
.economy-card-name { font-weight: 700; color: var(--ink-700); }
.economy-card-value { color: var(--ink-900); font-weight: 700; }
.economy-card-delta { font-size: .78rem; font-weight: 700; }
[data-theme="dark"] .economy-card-row { border-bottom-color: var(--ink-800); }
[data-theme="dark"] .economy-card-name { color: var(--ink-300); }
[data-theme="dark"] .economy-card-value { color: var(--ink-100); }

/* 10. tur - Ozellik 5: Okuyucu Rutbesi */
.reader-rank-box { margin: 18px 0; padding: 14px 16px; background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 10px; }
.reader-rank-box .rank-line { font-size: .92rem; margin-bottom: 8px; }
.reader-rank-box .rank-emoji { font-size: 1.1rem; }
.reader-rank-box .rank-levelup-tag { display: inline-block; background: #f59e0b; color: #fff; font-size: .72rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; margin-right: 6px; animation: rankPulse 1.4s ease-in-out 2; }
.reader-rank-box .rank-progress-track { background: var(--ink-100); border-radius: 999px; height: 8px; overflow: hidden; }
.reader-rank-box .rank-progress-fill { background: linear-gradient(90deg, var(--brand-600), #f59e0b); height: 100%; border-radius: 999px; transition: width .4s ease; }
.reader-rank-box .rank-next { margin-top: 6px; font-size: .78rem; color: var(--ink-500); }
@keyframes rankPulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
[data-theme="dark"] .reader-rank-box { background: var(--ink-900); border-color: var(--ink-800); }
[data-theme="dark"] .reader-rank-box .rank-progress-track { background: var(--ink-800); }
[data-theme="dark"] .reader-rank-box .rank-next { color: var(--ink-400); }

/* 10. tur - Ozellik 9: Vurgulama / Not Alma */
.highlight-toolbar { position: fixed; z-index: 200; background: var(--ink-900); border-radius: 8px; padding: 6px; display: flex; gap: 4px; box-shadow: 0 6px 18px rgba(0,0,0,.28); }
.highlight-toolbar button { background: none; border: 0; color: #fff; font-size: .78rem; font-weight: 600; cursor: pointer; padding: 5px 9px; border-radius: 6px; white-space: nowrap; }
.highlight-toolbar button:hover { background: rgba(255,255,255,.15); }
.highlight-toolbar input { border: 0; border-radius: 6px; padding: 5px 9px; font-size: .78rem; }
mark.user-highlight { background: #fef08a; color: inherit; border-radius: 2px; padding: 0 1px; cursor: pointer; }
mark.user-highlight.has-note { background: #bfdbfe; border-bottom: 2px dotted #2563eb; }
.notes-panel { margin: 14px 0; padding: 12px 14px; background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 10px; }
.notes-panel-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: .9rem; }
.notes-panel-item { padding: 8px 0; border-bottom: 1px solid var(--ink-100); font-size: .82rem; }
.notes-panel-item:last-child { border-bottom: none; }
.notes-panel-quote { margin: 0; font-style: italic; color: var(--ink-700); }
.notes-panel-note { margin: 4px 0 0; color: var(--ink-500); }
.notes-panel-delete { background: none; border: 0; color: #b91c1c; font-size: .74rem; font-weight: 700; cursor: pointer; padding: 5px 0 0; }
[data-theme="dark"] mark.user-highlight { background: #713f12; color: var(--ink-100); }
[data-theme="dark"] mark.user-highlight.has-note { background: #1e3a5f; border-bottom-color: #60a5fa; }
[data-theme="dark"] .notes-panel { background: var(--ink-900); border-color: var(--ink-800); }
[data-theme="dark"] .notes-panel-item { border-bottom-color: var(--ink-800); }
[data-theme="dark"] .notes-panel-quote { color: var(--ink-200); }
[data-theme="dark"] .notes-panel-note { color: var(--ink-400); }

/* 10. tur - Ozellik 10: Haber Radari (Turkiye Haritasi) */
.radar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "mar kar dog" "ege ica gun" ". akd .";
  gap: 14px;
  margin-bottom: 8px;
}
.radar-cell-mar { grid-area: mar; } .radar-cell-kar { grid-area: kar; } .radar-cell-dog { grid-area: dog; }
.radar-cell-ege { grid-area: ege; } .radar-cell-ica { grid-area: ica; } .radar-cell-gun { grid-area: gun; }
.radar-cell-akd { grid-area: akd; }
.radar-cell {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 12px; padding: 16px 10px;
}
.radar-bubble {
  width: calc(46px * var(--radar-scale, .6)); height: calc(46px * var(--radar-scale, .6));
  border-radius: 50%; background: var(--ink-200); display: flex; align-items: center; justify-content: center;
  font-weight: 800; color: var(--ink-500); margin-bottom: 8px; transition: all .3s ease;
}
.radar-bubble-active { background: radial-gradient(circle at 35% 30%, #fca5a5, var(--brand-600)); color: #fff; }
.radar-bubble-count { font-size: .82rem; }
.radar-region-label { font-weight: 700; font-size: .86rem; }
.radar-city-list { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; font-size: .7rem; color: var(--ink-400); }
[data-theme="dark"] .radar-cell { background: var(--ink-900); border-color: var(--ink-800); }
[data-theme="dark"] .radar-bubble { background: var(--ink-800); color: var(--ink-400); }
@media (max-width: 640px) {
  .radar-grid { grid-template-columns: repeat(2, 1fr); grid-template-areas: "mar kar" "dog ege" "ica gun" "akd akd"; }
}

/* 32. tur - Ozellik: Kapsama Alanimiz seridi (haber-radari.php) - kapsanan
   9 ili bati->dogu sirayla gosterir, son ilin (Ankara) sagina "kapsama
   sinirimiz" anlamina gelen kesikli bir dikey cizgi eklenir. */
.coverage-strip { display: flex; flex-wrap: wrap; gap: 0; align-items: stretch; }
.coverage-chip {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; padding: 10px 16px; text-align: center; min-width: 90px;
}
.coverage-chip a { font-weight: 700; font-size: .88rem; color: var(--ink-700); text-decoration: none; }
.coverage-chip a:hover { color: var(--brand-600); }
.coverage-chip-count { font-size: .68rem; color: var(--ink-400); }
.coverage-chip-last { border-right: 3px dashed var(--brand-600); padding-right: 18px; }
[data-theme="dark"] .coverage-chip a { color: var(--ink-100); }

/* Ozellik 5: reklam gosterim isi haritasi */
.heatmap-row { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.heatmap-hour { width: 34px; font-size: .68rem; color: var(--ink-400); text-align: right; flex-shrink: 0; }
.heatmap-bar-track { flex: 1; background: var(--ink-100); border-radius: 4px; height: 14px; overflow: hidden; }
.heatmap-bar-fill { background: linear-gradient(90deg, var(--brand-600), #f59e0b); height: 100%; border-radius: 4px; }
.heatmap-value { width: 46px; font-size: .68rem; color: var(--ink-400); flex-shrink: 0; }
[data-theme="dark"] .heatmap-bar-track { background: var(--ink-800); }

/* 11. tur - Ozellik 1: Basin Kiti */
.presskit-stats { display: flex; flex-wrap: wrap; gap: 14px; margin: 14px 0 20px; }
.presskit-stat { flex: 1 1 120px; background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 10px; padding: 14px; text-align: center; }
.presskit-stat strong { display: block; font-size: 1.4rem; color: var(--brand-600); }
.presskit-stat span { font-size: .78rem; color: var(--ink-500); }
.presskit-assets { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 20px; }
.presskit-embed-box { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; margin: 10px 0 14px; }
.presskit-embed-box textarea { flex: 1 1 320px; min-width: 260px; font-family: monospace; font-size: .74rem; padding: 8px; border: 1px solid var(--ink-100); border-radius: 6px; resize: vertical; }
.presskit-embed-preview-label { font-size: .82rem; color: var(--ink-500); margin-bottom: 6px; }
[data-theme="dark"] .presskit-stat { background: var(--ink-900); border-color: var(--ink-800); }
[data-theme="dark"] .presskit-embed-box textarea { background: var(--ink-900); border-color: var(--ink-800); color: var(--ink-100); }

/* Ozellik 8: en cok tartisilan widget */
.discussed-widget .most-read-views { color: var(--brand-600); }

/* Ozellik 2: okuyucu ihbari formu */
.tip-form-card { max-width: 560px; margin: 0 auto; }
.tip-form-card .form-group { margin-bottom: 14px; }

/* Ozellik 10: reklamveren self-servis paket kartlari */
.ad-package-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 20px 0; }
.ad-package-card {
  border: 2px solid var(--ink-100); border-radius: 14px; padding: 20px; text-align: center;
  cursor: pointer; transition: border-color .15s ease, transform .15s ease; background: #fff;
}
.ad-package-card:hover { transform: translateY(-3px); border-color: var(--brand-300); }
.ad-package-card.selected { border-color: var(--brand-600); box-shadow: 0 0 0 3px rgba(220,38,38,.12); }
.ad-package-card h3 { margin: 6px 0; font-size: 1.05rem; }
.ad-package-card .price { font-size: 1.6rem; font-weight: 900; color: var(--brand-600); }
.ad-package-card ul { list-style: none; padding: 0; margin: 10px 0 0; font-size: .8rem; color: var(--ink-500); text-align: left; }
.ad-package-card li { padding: 3px 0; }
[data-theme="dark"] .ad-package-card { background: var(--ink-900); border-color: var(--ink-800); }

/* 8. tur: gelismis konum bazli haber onceliklendirme */
.local-city-picker {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: .8rem; color: var(--ink-500); margin-bottom: 14px;
}
.local-city-picker select {
  padding: 4px 8px; border-radius: 6px; border: 1px solid var(--ink-200);
  font-size: .8rem; width: auto;
}
[data-theme="dark"] .local-city-picker select { background: var(--ink-800); border-color: var(--ink-700); color: #fff; }


/* 12. tur - Ozellik: Olay Zinciri */
.event-chain-track { display: flex; flex-direction: column; gap: 0; }
.event-chain-item {
  display: flex; gap: 12px; padding: 10px 0; text-decoration: none; color: inherit;
  border-left: 2px solid var(--ink-100); margin-left: 6px; padding-left: 16px; position: relative;
}
.event-chain-dot {
  width: 10px; height: 10px; border-radius: 50%; background: var(--ink-300);
  position: absolute; left: -6px; top: 14px;
}
.event-chain-current .event-chain-dot { background: var(--brand-600); box-shadow: 0 0 0 4px rgba(220,38,38,.15); }
.event-chain-body time { font-size: .72rem; color: var(--ink-400); font-weight: 700; }
.event-chain-body strong { display: block; font-size: .88rem; margin-top: 2px; color: var(--ink-700); }
.event-chain-item:hover strong { color: var(--brand-600); }
.event-chain-current strong { color: var(--ink-900); }
.event-chain-here { font-size: .72rem; color: var(--brand-600); font-weight: 700; }
[data-theme="dark"] .event-chain-item { border-color: var(--ink-800); }
[data-theme="dark"] .event-chain-body strong { color: var(--ink-200); }

/* 12. tur - Ozellik: Manset Oylamasi */
.headline-poll { margin: 20px 0; }
.headline-poll-options { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: stretch; }
.headline-poll-opt {
  display: block; text-decoration: none; color: inherit; border: 1px solid var(--ink-100);
  border-radius: 12px; overflow: hidden; background: var(--ink-50); transition: border-color .2s;
}
.headline-poll-opt:hover { border-color: var(--brand-600); }
.headline-poll-opt img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; background: var(--ink-100); }
.headline-poll-opt-body { padding: 10px 12px; }
.headline-poll-opt-title { font-size: .86rem; font-weight: 700; line-height: 1.3; }
.headline-poll-vs { display: flex; align-items: center; justify-content: center; font-weight: 900; color: var(--ink-300); font-size: 1.1rem; }
.headline-poll-bar { height: 8px; border-radius: 6px; background: var(--ink-100); overflow: hidden; margin-top: 8px; }
.headline-poll-bar-fill { height: 100%; background: var(--brand-600); }
.headline-poll-pct { font-size: .78rem; font-weight: 700; color: var(--ink-500); margin-top: 4px; }
[data-theme="dark"] .headline-poll-opt { background: var(--ink-900); border-color: var(--ink-800); }
[data-theme="dark"] .headline-poll-pct { color: var(--ink-300); }

/* 12. tur - Ozellik: Haber Yasi Sayaci */
.news-age-badge { display: inline-flex; align-items: center; gap: 4px; font-size: .78rem; color: var(--ink-500); }
.news-age-stale { color: #b45309; font-weight: 700; }

/* 12. tur - Ozellik: Mikro-Belgesel Modu */
.microdoc-controls { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.microdoc-progress { flex: 1; display: flex; gap: 4px; }
.microdoc-progress-dot { flex: 1; height: 4px; border-radius: 4px; background: var(--ink-100); overflow: hidden; }
.microdoc-progress-dot-fill { height: 100%; width: 0%; background: var(--brand-600); }
.microdoc-progress-dot.done .microdoc-progress-dot-fill { width: 100%; }
.microdoc-slide { display: none; }
.microdoc-slide.active { display: block; animation: microdoc-fade .3s ease; }
@keyframes microdoc-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* 12. tur - Ozellik: Ihbar Rutbesi */
.rank-list { display: flex; flex-direction: column; gap: 0; }
.rank-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--ink-100); }
.rank-medal { font-size: 1.3rem; width: 32px; text-align: center; }
.rank-name { font-weight: 700; flex: 1; }
.rank-tier { font-size: .72rem; padding: 3px 10px; border-radius: 999px; background: var(--ink-100); color: var(--ink-500); font-weight: 700; }
.rank-tier-efsane { background: #fef3c7; color: #92400e; }
.rank-tier-altin { background: #fef9c3; color: #854d0e; }
.rank-tier-gumus { background: #e5e7eb; color: #374151; }
.rank-count { font-size: .78rem; color: var(--ink-400); }
[data-theme="dark"] .rank-row { border-color: var(--ink-800); }

/* 12. tur - Ozellik: Sessiz Kriz Modu */
.crisis-banner {
  background: #111827; color: #fff; text-align: center; padding: 10px 16px;
  font-size: .85rem; font-weight: 600;
}
.crisis-banner strong { color: #fca5a5; }


/* 13. tur - Ozellik: Iddia / Dogrulandi Etiketi */
.badge-claim { padding: 4px 12px; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.badge-claim-iddia { background: #dbeafe; color: #1e40af; }
.badge-claim-arastiriliyor { background: #fef9c3; color: #854d0e; }
.badge-claim-dogrulandi { background: #d1fae5; color: #047857; }
[data-theme="dark"] .badge-claim-iddia { background: rgba(59,130,246,.18); color: #93c5fd; }
[data-theme="dark"] .badge-claim-arastiriliyor { background: rgba(202,138,4,.18); color: #fde047; }
[data-theme="dark"] .badge-claim-dogrulandi { background: rgba(5,150,105,.18); color: #6ee7b7; }


/* 13. tur - Ozellik: Kisisel Okuma Hizi Rozeti */
.reading-speed-badge {
  margin: 14px 0; padding: 6px 14px; border-radius: 999px; background: var(--ink-100);
  color: var(--ink-500); font-size: .8rem; font-weight: 600;
}
[data-theme="dark"] .reading-speed-badge { background: var(--ink-800); color: var(--ink-300); }

/* 19. tur - Ozellik: Trafik/yol durumu canli seridi */
.road-ticker {
  display: flex; align-items: center; gap: 10px; background: #1f2937; color: #fff;
  padding: 6px 0; font-size: .8rem; overflow: hidden;
}
.road-ticker-label {
  flex-shrink: 0; padding: 0 14px; font-weight: 700; color: #fff; white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,.2);
}
.road-ticker-track { overflow: hidden; flex: 1; }
.road-ticker-items {
  display: inline-flex; white-space: nowrap; animation: road-ticker-scroll 40s linear infinite;
}
.road-ticker-item { padding: 0 28px; }
.road-ticker-danger { color: #fca5a5; font-weight: 700; }
.road-ticker-warning { color: #fde68a; font-weight: 600; }
.road-ticker-info { color: #bfdbfe; }
@keyframes road-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .road-ticker-items { animation: none; overflow-x: auto; }
}

/* 19. tur - road-status siddet rozetleri (tablo/liste gorunumu icin - ticker
   seridindeki koyu-arka-plan renkleriyle KARISTIRILMAMALI, oradaki acik
   renkler SADECE koyu seritte okunakli, burada ayri bir pill stili kullanilir) */
.road-badge { padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.road-badge-info { background: #dbeafe; color: #1e40af; }
.road-badge-warning { background: #fef9c3; color: #854d0e; }
.road-badge-danger { background: #fee2e2; color: #b91c1c; }
[data-theme="dark"] .road-badge-info { background: rgba(59,130,246,.18); color: #93c5fd; }
[data-theme="dark"] .road-badge-warning { background: rgba(202,138,4,.18); color: #fde047; }
[data-theme="dark"] .road-badge-danger { background: rgba(220,38,38,.18); color: #fca5a5; }

/* 33. tur - Ozellik: Hava durumu alarmi (sari/turuncu/kirmizi) rozeti -
   MGM'nin gercek 3 kademeli renk semasiyla TUTARLI. */
.weather-alert-badge { padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.weather-alert-badge-sari { background: #fef9c3; color: #854d0e; }
.weather-alert-badge-turuncu { background: #ffedd5; color: #9a3412; }
.weather-alert-badge-kirmizi { background: #fee2e2; color: #b91c1c; }
[data-theme="dark"] .weather-alert-badge-sari { background: rgba(202,138,4,.18); color: #fde047; }
[data-theme="dark"] .weather-alert-badge-turuncu { background: rgba(234,88,12,.18); color: #fdba74; }
[data-theme="dark"] .weather-alert-badge-kirmizi { background: rgba(220,38,38,.18); color: #fca5a5; }
