/* ==========================================================================
   whobetter.lol — tasarım tokenları
   ========================================================================== */
/* Palet: nötr, hafif soğuk grilerin üzerine tek bir yüksek enerjili vurgu.
   Krem tonlar bırakıldı — modern arayüzler yüksek kontrastlı nötr zemin ve
   doygun tek aksan kullanıyor. Rekabet hissi vurgu rengi ve podyum
   metallerinden (altın/gümüş/bronz) geliyor; yeşil yalnızca canlı göstergesi. */
:root {
  --background: #fafaf9;
  --foreground: #0c0a09;
  --card: #ffffff;
  --muted: #f4f4f5;
  --muted-foreground: #71717a;
  --border: #e4e4e7;
  --input: #d4d4d8;
  /* --primary vurgu (metin, kenarlık, çubuk) içindir. Beyaz yazı taşıyan
     DOLGU yüzeylerde --primary-dolgu kullanılır: canlı ton beyazla 3.8:1
     veriyor, WCAG AA için gereken 4.5'in altında. Koyu ton 4.8:1 sağlıyor. */
  --primary: #f23f13;
  --primary-dolgu: #d63212;
  --primary-foreground: #ffffff;
  --primary-rgb: 242, 63, 19;
  --live: #16a34a;
  --destructive: #dc2626;

  /* Podyum */
  --altin: #ca8a04;
  --altin-rgb: 202, 138, 4;
  --gumus: #71809a;
  --gumus-rgb: 113, 128, 154;
  --bronz: #b45309;
  --bronz-rgb: 180, 83, 9;

  /* Modern arayüzler daha yumuşak köşe ve daha geniş, daha soluk gölge kullanır. */
  --radius: 1rem;
  --shadow-card: 0 1px 2px rgba(9, 9, 11, 0.04), 0 12px 32px -8px rgba(9, 9, 11, 0.1);
  --shadow-yukselti: 0 1px 3px rgba(9, 9, 11, 0.08), 0 20px 40px -12px rgba(9, 9, 11, 0.16);

  --sans: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Dokunma hedefi alt sınırı (iOS/Android kılavuzları 44px önerir). */
  --dokunma: 44px;
}

html.dark {
  --background: #09090b;
  --foreground: #fafafa;
  --card: #141416;
  --muted: #1f1f23;
  --muted-foreground: #a1a1aa;
  --border: rgba(255, 255, 255, 0.09);
  --input: rgba(255, 255, 255, 0.14);
  /* Koyu temada canlı turuncu dolgu üzerine KOYU yazı okunur (6.3:1);
     beyaz yazı 3.0:1'de kalırdı. */
  --primary: #ff5b33;
  --primary-dolgu: #ff5b33;
  --primary-foreground: #09090b;
  --primary-rgb: 255, 91, 51;
  --live: #4ade80;
  --destructive: #f87171;
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.5), 0 12px 32px -8px rgba(0, 0, 0, 0.6);
  --shadow-yukselti: 0 1px 3px rgba(0, 0, 0, 0.6), 0 20px 40px -12px rgba(0, 0, 0, 0.7);

  --altin: #fbbf24;
  --altin-rgb: 251, 191, 36;
  --gumus: #b8c2d4;
  --gumus-rgb: 184, 194, 212;
  --bronz: #ea9553;
  --bronz-rgb: 234, 149, 83;
}

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

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

body {
  margin: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
p { margin: 0; }
h1, h2, h3 { margin: 0; font-weight: 700; }
ul { margin: 0; padding: 0; list-style: none; }

.wrap { width: 100%; max-width: 56rem; margin-inline: auto; padding-inline: 1rem; }


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

.muted { color: var(--muted-foreground); }
.accent { color: rgba(var(--primary-rgb), 0.75); }
.strong { color: var(--foreground); }
.tnum { font-variant-numeric: tabular-nums; }

.desktop-only, .segmented.desktop-only { display: none; }
@media (min-width: 640px) {
  .desktop-only, .segmented.desktop-only { display: inline-flex; }
  .mobile-only, .segmented.mobile-only { display: none; }
}

/* ==========================================================================
   Üst çubuk
   ========================================================================== */
.site-header { position: sticky; top: 0; z-index: 40; background: var(--background); }

/* flex-wrap her genişlikte açıktır: uzun çeviriler (fr, es) sığmadığında satır
   atlar. Kapalı olduğunda header-left içeriğinin altına inip header-right'ın
   üzerine biniyordu. */
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; column-gap: 1rem; row-gap: 0.6rem;
  padding-top: 1.25rem; padding-bottom: 1rem;
}

/* min-width: 0 yoktur: kutu kendi içeriğinin altına inemez, yoksa sekmeler
   taşıp sağdaki menünün üstüne yazılır. */
.header-left { display: flex; align-items: center; gap: 0.75rem; }
.header-right { display: flex; align-items: center; gap: 0.5rem; }
@media (min-width: 640px) { .header-right { gap: 1rem; } }

/* Dar ekranda üç satır: logo · (menü + tema) · bayraklar.
   Bayraklar kendi satırında kalır ki sıkışıp okunmaz hâle gelmesinler. */
@media (max-width: 700px) {
  .header-inner { flex-wrap: wrap; row-gap: 0.6rem; }
  .header-right { width: 100%; flex-wrap: wrap; justify-content: space-between; gap: 0.4rem; }
  .dil-secici { order: 3; display: flex; width: 100%; justify-content: center; }
}

.logo {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 22px; font-weight: 500; letter-spacing: -0.04em;
}
.logo-mark { height: 1.25rem; width: auto; }
.f-primary { fill: var(--primary); }
.f-fore { fill: var(--foreground); }
.dot { color: var(--primary); }

.segmented {
  display: inline-flex; padding: 2px;
  border: 1px solid var(--border); border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 60%, transparent);
}
.seg-tab {
  display: inline-flex; align-items: center; gap: 0.25rem;
  padding: 0.375rem 0.5rem; border-radius: 999px;
  font-size: 12px; font-weight: 500; line-height: 1; letter-spacing: -0.01em;
  white-space: nowrap;
  color: var(--muted-foreground); transition: color 0.15s, background 0.15s;
}
.seg-tab:hover { color: var(--foreground); }
.seg-tab.is-active { background: var(--background); color: var(--foreground); }
.seg-icon { color: var(--primary); display: inline-flex; }
.seg-icon svg { width: 12px; height: 12px; }

/* ————— Dil seçici: beş bayrak, hepsi görünür ————— */
.dil-secici {
  display: inline-flex; align-items: center; gap: 2px;
  padding: 3px; border: 1px solid var(--border); border-radius: 999px;
  background: var(--muted);
}

.dil-bayrak {
  display: inline-flex; align-items: center; gap: 0.25rem;
  padding: 0.25rem 0.35rem; border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.02em;
  white-space: nowrap;
  color: var(--muted-foreground); line-height: 1;
  transition: background 0.15s, color 0.15s;
}
.dil-bayrak:hover { background: var(--card); color: var(--foreground); }
.dil-bayrak.is-active {
  background: var(--primary-dolgu); color: var(--primary-foreground);
  box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.35);
}
.dil-bayrak:focus-visible {
  outline: none; box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.4);
}

.bayrak { display: inline-flex; line-height: 0; }

.bayrak-svg {
  display: block; width: 18px; height: auto; border-radius: 2px;
  /* İnce kenar, açık zeminde beyaz bayrakların kaybolmasını önler. */
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.16);
}
.dil-bayrak.is-active .bayrak-svg {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7);
}

/* Kodlar (TR/EN/FR/DE/ES) gizlidir. Beş kod üst çubuğa ~90px ekliyordu; üst
   çubuk .wrap ile 56rem'de sabit olduğu için bu genişlik hiçbir ekranda yoktu
   ve fr/es/tr çevirilerinde menü taşıyordu. Bayrağın title'ı ve yanındaki
   .sr-only dil adı yerinde: ekran okuyucu ve ipucu metni değişmedi. */
.dil-kod { display: none; }

.main-nav { display: flex; align-items: center; gap: 0.5rem; font-size: 12px; }
@media (min-width: 640px) { .main-nav { gap: 1rem; font-size: 14px; } }
.main-nav a { white-space: nowrap; }
.main-nav a { font-weight: 500; color: var(--muted-foreground); transition: color 0.15s; }
.main-nav a:hover, .main-nav a.is-current { color: var(--foreground); }

.icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; border: 0; border-radius: 999px;
  background: transparent; color: var(--muted-foreground);
  cursor: pointer; transition: background 0.15s, color 0.15s;
}
.icon-btn:hover { background: var(--muted); color: var(--foreground); }
.icon-btn svg { width: 1rem; height: 1rem; }
.i-moon { display: none; }
html.dark .i-sun { display: none; }
html.dark .i-moon { display: block; }

/* ==========================================================================
   Hero
   ========================================================================== */
.page { flex: 1; padding-bottom: 4rem; }
.hero { margin-bottom: 1.5rem; text-align: center; }

/* ————— İstatistik şeridi ————— */
.istatistik-serit {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 0.25rem 0.5rem; width: 100%; max-width: 34rem; margin-inline: auto;
  padding: 0.9rem 0.75rem; border: 1px solid var(--border); border-radius: 1.25rem;
  background: var(--card); box-shadow: var(--shadow-card);
  text-decoration: none; transition: border-color 0.15s;
}
a.istatistik-serit:hover { border-color: rgba(var(--primary-rgb), 0.55); }
@media (min-width: 620px) { .istatistik-serit { grid-template-columns: repeat(4, 1fr); } }

.ist-hucre {
  display: flex; flex-direction: column; align-items: center; gap: 0.1rem;
  padding-block: 0.35rem;
}
@media (min-width: 620px) { .ist-hucre + .ist-hucre { border-left: 1px solid var(--border); } }

.ist-sayi {
  display: inline-flex; align-items: center;
  font-family: var(--mono); font-size: clamp(1.25rem, 5vw, 1.6rem);
  font-weight: 500; letter-spacing: -0.03em; line-height: 1.1;
  font-variant-numeric: tabular-nums; color: var(--foreground);
}
.ist-canli { gap: 0.35rem; color: var(--live); }
.ist-vurgu { color: var(--primary); }

/* Etiketler kaynakta zaten büyük harf; text-transform kullanılmıyor çünkü
   Türkçe yerelinde "online" → "ONLİNE" oluyor. */
.ist-etiket {
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
  color: var(--muted-foreground);
}
.live-dot { position: relative; display: inline-flex; width: 8px; height: 8px; flex-shrink: 0; }
.live-dot .ping {
  position: absolute; inset: 0; border-radius: 999px;
  background: var(--live); opacity: 0.75; animation: ping 1.6s cubic-bezier(0, 0, 0.2, 1) infinite;
}
.live-dot .core { position: relative; width: 8px; height: 8px; border-radius: 999px; background: var(--live); }
@keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .live-dot .ping { animation: none; } }

.hero .segmented { margin-top: 0.75rem; }

/* ==========================================================================
   Teklif bölümü
   ========================================================================== */
.claim { scroll-margin-top: 1.5rem; }

.claim-title {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  column-gap: 0.5rem; text-align: center;
  font-size: 28px; font-weight: 700; letter-spacing: -0.03em; text-wrap: pretty;
}
@media (min-width: 768px) { .claim-title { font-size: 40px; } }

.claim-sub {
  max-width: 30rem; margin: 0.5rem auto 0; text-align: center;
  font-size: 14px; font-weight: 500; line-height: 1.6;
  color: var(--muted-foreground); text-wrap: pretty;
}

.claim-form { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.claim-form .row { display: flex; flex-direction: column; gap: 0.5rem; }
@media (min-width: 768px) { .claim-form .row { flex-direction: row; align-items: center; } }

.field {
  position: relative; flex: none; min-width: 0;
  display: flex; align-items: center;
  height: 2.75rem; padding: 0 0.75rem;
  border: 1px solid var(--input); border-radius: 999px;
  background: var(--card); transition: border-color 0.15s, box-shadow 0.15s;
}
.field:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.25); }
.field input, .field select {
  width: 100%; border: 0; background: transparent; outline: none; font-size: 14px;
}
.field input::placeholder { color: var(--muted-foreground); }
.field-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.5rem; height: 1.5rem; margin-right: 0.5rem; flex-shrink: 0;
  border-radius: 999px; background: var(--muted); color: var(--muted-foreground);
}
.field-icon svg { width: 0.875rem; height: 0.875rem; }

@media (min-width: 768px) {
  .field { flex: 1 1 auto; }
  .select-field { flex: 0 1 15rem; }
}

.select-field select { appearance: none; cursor: pointer; color: var(--muted-foreground); }

/* ————— Aranabilir kategori seçici —————
   Yerel <select> gizlenir ama DOM'da kalır: değerin kaynağı odur ve JS
   çalışmazsa yerel menü olduğu gibi devreye girer. */
.gizli-secim {
  position: absolute; width: 1px; height: 1px; opacity: 0;
  pointer-events: none;
}

.kat-secici { position: static; display: flex; width: 100%; min-width: 0; }

.kat-dugme {
  flex: 1; min-width: 0; height: 100%;
  display: flex; align-items: center;
  padding: 0; border: 0; background: transparent;
  font-size: 14px; color: var(--muted-foreground);
  text-align: left; cursor: pointer;
}
.kat-secici.secili .kat-dugme { color: var(--foreground); font-weight: 500; }
.kat-etiket-metin { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.kat-panel {
  position: absolute; z-index: 50; left: 0; right: 0; top: calc(100% + 0.35rem);
  display: flex; flex-direction: column;
  max-height: min(22rem, 60vh); overflow: hidden;
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--card); box-shadow: var(--shadow-yukselti);
}
.kat-panel[hidden] { display: none; }

.kat-ara {
  flex-shrink: 0; height: 2.75rem; padding: 0 0.9rem;
  border: 0; border-bottom: 1px solid var(--border);
  background: transparent; font-size: 14px; color: var(--foreground); outline: none;
}
.kat-ara::placeholder { color: var(--muted-foreground); }

.kat-liste { overflow-y: auto; padding: 0.25rem; -webkit-overflow-scrolling: touch; }

.kat-secenek {
  display: flex; align-items: center; min-height: 2.5rem;
  padding: 0.4rem 0.65rem; border-radius: calc(var(--radius) - 0.5rem);
  font-size: 14px; color: var(--foreground); cursor: pointer;
}
.kat-secenek[hidden] { display: none; }
.kat-secenek:hover, .kat-secenek.vurgulu { background: var(--muted); }
.kat-secenek[aria-selected="true"] {
  background: rgba(var(--primary-rgb), 0.12); color: var(--primary); font-weight: 600;
}

.kat-bos-mesaj { padding: 0.9rem; font-size: 13px; color: var(--muted-foreground); }
.kat-bos-mesaj[hidden] { display: none; }
.select-field select.is-chosen { color: var(--foreground); }
.select-field::after {
  content: ""; position: absolute; right: 1rem; top: 50%;
  width: 0.5rem; height: 0.5rem; margin-top: -0.25rem; pointer-events: none;
  border-right: 2px solid var(--muted-foreground); border-bottom: 2px solid var(--muted-foreground);
  transform: rotate(45deg) translate(-2px, -2px);
}

.btn-primary {
  height: 2.75rem; padding-inline: 1.5rem; flex-shrink: 0;
  border: 0; border-radius: 999px;
  background: var(--primary-dolgu); color: var(--primary-foreground);
  font-size: 14px; font-weight: 700; cursor: pointer;
  transition: filter 0.15s, transform 0.05s;
}
.btn-primary:hover { filter: brightness(1.06); }
.btn-primary:active { transform: translateY(1px); }

.form-hint { text-align: center; font-size: 12px; color: var(--muted-foreground); }
.form-status { text-align: center; font-size: 13px; font-weight: 600; color: var(--primary); min-height: 1.25rem; }

/* ==========================================================================
   Kategori şeridi
   ========================================================================== */
.cats {
  position: relative; margin-top: 1.5rem;
  display: flex; align-items: center; gap: 0.5rem;
}
.cats-strip {
  display: flex; gap: 0.375rem; overflow-x: auto; padding-bottom: 0.25rem;
  scrollbar-width: none;
}
.cats-strip::-webkit-scrollbar { display: none; }
.cats.is-open .cats-strip { flex-wrap: wrap; overflow: visible; }

.cat-chip {
  flex-shrink: 0; padding: 0.3rem 0.7rem; border-radius: 999px;
  border: 1px solid var(--border); background: var(--card);
  font-size: 12px; font-weight: 500; color: var(--muted-foreground);
  white-space: nowrap; cursor: pointer; transition: all 0.15s;
}
.cat-chip:hover { color: var(--foreground); border-color: var(--muted-foreground); }
.cat-chip.is-active {
  background: var(--primary-dolgu); border-color: var(--primary-dolgu); color: var(--primary-foreground);
}

.cats-more {
  flex-shrink: 0; padding: 0.3rem 0.7rem; border-radius: 999px;
  border: 1px solid var(--border); background: var(--muted);
  font-size: 12px; font-weight: 600; color: var(--foreground); cursor: pointer;
}

/* ==========================================================================
   Sıralama listesi
   ========================================================================== */
.board { margin-top: 1rem; }

.entry {
  position: relative; height: 100%; scroll-margin-top: 1.5rem;
  padding-inline: 0.75rem;
}
@media (min-width: 768px) { .entry { padding-inline: 1rem; } }

.entry-link { position: absolute; inset: 0; z-index: 0; border-radius: inherit; }

.entry-row {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: 0.5rem;
  height: 100%; padding-block: 0.5rem;
  pointer-events: none; transition: color 0.15s;
}
@media (min-width: 768px) { .entry-row { gap: 0.75rem; padding-block: 0.75rem; } }
.entry:hover .entry-row { color: var(--primary); }

/* İlk üç sıra vurgusu */
.entry.tier-1, .entry.tier-2, .entry.tier-3 {
  margin-block: 0.375rem; padding-inline: 0.625rem;
  border-radius: 0.75rem; border: 2px solid;
}
@media (min-width: 768px) {
  .entry.tier-1, .entry.tier-2, .entry.tier-3 { margin-block: 0.75rem; padding-inline: 0.875rem; border-radius: 1rem; }
}
/* Podyum: ilk üç sıra kazanılacak bir ödül gibi görünür. */
.entry.tier-1 {
  border-color: var(--altin);
  background: linear-gradient(100deg, rgba(var(--altin-rgb), 0.2), rgba(var(--primary-rgb), 0.1));
  box-shadow: 0 0 0 1px rgba(var(--altin-rgb), 0.25), 0 10px 30px rgba(var(--altin-rgb), 0.18);
}
.entry.tier-2 {
  border-color: rgba(var(--gumus-rgb), 0.7);
  background: rgba(var(--gumus-rgb), 0.1);
}
.entry.tier-3 {
  border-color: rgba(var(--bronz-rgb), 0.55);
  background: rgba(var(--bronz-rgb), 0.08);
  margin-bottom: 0.125rem;
}
.entry.has-rule { border-top: 1px solid var(--border); }

.entry-lead {
  display: flex; width: 2.5rem; flex-shrink: 0;
  flex-direction: column; align-items: center; gap: 0.375rem;
}
@media (min-width: 768px) { .entry-lead { width: auto; flex-direction: row; gap: 0.75rem; } }

.rank {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.75rem; font-size: 12px; font-weight: 500; color: var(--muted-foreground);
  font-variant-numeric: tabular-nums;
}
@media (min-width: 768px) { .rank { min-width: 2.5rem; font-size: 16px; } }
/* Madalya rozetlerinde yazı rengi metale göre seçilir: altın ve gümüş açık
   metaller, üzerlerinde beyaz yazı 2.9:1 ve 3.9:1'de kalıyordu — koyu yazı
   7:1 üstü veriyor. Bronz koyu metal, beyazla 4.9:1 sağlıyor. */
.tier-1 .rank, .tier-2 .rank, .tier-3 .rank {
  padding: 1px 0.375rem; border-radius: 999px;
  font-weight: 700;
}
.tier-1 .rank {
  background: var(--altin); color: #1c1300;
  box-shadow: 0 2px 8px rgba(var(--altin-rgb), 0.45);
}
.tier-2 .rank { background: var(--gumus); color: #0d1220; }
.tier-3 .rank { background: var(--bronz); color: #fff; }
html.dark .tier-3 .rank { color: #1a0f04; }
@media (min-width: 768px) { .tier-1 .rank, .tier-2 .rank, .tier-3 .rank { padding: 2px 0.5rem; } }

.avatar {
  display: flex; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; flex-shrink: 0;
  border-radius: 0.375rem; background: #fff; color: rgba(var(--primary-rgb), 0.5);
  font-size: 14px; font-weight: 700; overflow: hidden;
}
@media (min-width: 768px) { .avatar { width: 3.5rem; height: 3.5rem; font-size: 18px; } }
html.dark .avatar { background: rgba(255, 255, 255, 0.9); }

.entry-body { min-width: 0; flex: 1; }
.entry-head { display: flex; align-items: baseline; gap: 0.5rem; }
.entry-title {
  min-width: 0; flex: 1; font-size: 14px; font-weight: 700;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* Eskiden tutar yazıyordu; şimdi etkileşim puanı. */
.entry-price {
  flex-shrink: 0; font-size: 14px; font-weight: 600;
  color: var(--primary); font-variant-numeric: tabular-nums;
}
@media (min-width: 768px) { .entry-title, .entry-price { font-size: 16px; } }

.entry-desc {
  font-size: 12px; color: color-mix(in srgb, var(--muted-foreground) 70%, transparent);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (min-width: 768px) { .entry-desc { font-size: 14px; -webkit-line-clamp: 3; } }

.entry-meta {
  margin-top: 0.125rem; display: flex; flex-wrap: wrap; align-items: center;
  column-gap: 0.375rem; font-size: 11px;
}
@media (min-width: 768px) { .entry-meta { font-size: 12px; column-gap: 0.5rem; } }
.entry-meta .dim { color: color-mix(in srgb, var(--muted-foreground) 70%, transparent); }
.entry-meta .domain { font-weight: 500; color: var(--muted-foreground); }
.entry-meta a {
  pointer-events: auto; display: inline-flex; align-items: center; gap: 0.25rem;
  font-weight: 500; color: color-mix(in srgb, var(--muted-foreground) 70%, transparent);
  transition: color 0.15s;
}
.entry-meta a:hover { color: var(--primary); }

/* ————— Oy satırı ————— */
.oy-satiri { margin-top: 0.4rem; display: flex; align-items: center; gap: 0.5rem; }

.oy-cubuk {
  position: relative; flex: 0 1 5rem; height: 4px; border-radius: 999px;
  background: var(--muted); overflow: hidden;
}
@media (min-width: 768px) { .oy-cubuk { flex-basis: 7rem; } }
.oy-dolgu {
  display: block; height: 100%; min-width: 0; border-radius: inherit;
  background: var(--primary); transition: width 0.35s ease;
}
.oy-satiri.secildi .oy-dolgu { background: var(--live); }

.oy-metin {
  font-size: 11px; font-variant-numeric: tabular-nums;
  color: color-mix(in srgb, var(--muted-foreground) 75%, transparent);
}
@media (min-width: 768px) { .oy-metin { font-size: 12px; } }
.oy-satiri.secildi .oy-metin { color: var(--live); font-weight: 600; }

.btn-oy {
  pointer-events: auto; white-space: nowrap;
  padding: 0.3rem 0.75rem; border-radius: 999px;
  border: 1px solid var(--primary); background: transparent;
  font-size: 11px; font-weight: 700; color: var(--primary);
  cursor: pointer; transition: all 0.15s;
}
@media (min-width: 768px) { .btn-oy { font-size: 12px; padding: 0.35rem 0.9rem; } }
.btn-oy:hover:not(:disabled) { background: var(--primary-dolgu); color: var(--primary-foreground); }
.btn-oy:disabled { cursor: not-allowed; opacity: 0.45; }
.btn-oy.verildi {
  border-color: var(--live); color: var(--live); opacity: 1;
  background: color-mix(in srgb, var(--live) 12%, transparent);
}

.entry-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.375rem; flex-shrink: 0; }
.btn-outbid {
  pointer-events: auto; white-space: nowrap;
  padding: 0.3rem 0.7rem; border-radius: 999px; border: 1px solid var(--border);
  background: var(--card); font-size: 11px; font-weight: 600; color: var(--foreground);
  cursor: pointer; transition: all 0.15s;
}
.btn-long { display: none; }
@media (min-width: 768px) {
  .btn-outbid { font-size: 12px; padding: 0.35rem 0.85rem; }
  .btn-long { display: inline; }
}
.btn-outbid:hover { background: var(--primary-dolgu); border-color: var(--primary-dolgu); color: var(--primary-foreground); }
.link-details {
  pointer-events: auto; font-size: 11px;
  color: color-mix(in srgb, var(--muted-foreground) 70%, transparent); transition: color 0.15s;
}
.link-details:hover { color: var(--primary); }

.board-panel {
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--card); box-shadow: var(--shadow-card);
  padding-block: 0.25rem; margin-block: 0.75rem;
}

.divider {
  display: flex; align-items: center; gap: 0.75rem;
  margin-block: 1.25rem; color: var(--muted-foreground);
}
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.divider span {
  padding: 0.15rem 0.6rem; border-radius: 999px; border: 1px solid var(--border);
  font-size: 11px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase;
}

.empty-state {
  padding: 3rem 1rem; text-align: center; font-size: 14px; color: var(--muted-foreground);
}

/* ————— Son hareketler ————— */
.activity {
  display: flex; flex-direction: column; margin-block: 1rem;
  border-radius: 1rem; background: var(--card); box-shadow: var(--shadow-card);
  padding: 0.875rem 1rem 0.25rem;
}
@media (min-width: 768px) { .activity { padding: 1rem 1.25rem; } }

.activity h2 {
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 14px; font-weight: 700;
}
.activity h2::before {
  content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--live);
}
.activity ul { margin-top: 0.5rem; }
.activity li + li { border-top: 1px solid var(--border); }
.activity li a {
  display: flex; align-items: baseline; gap: 0.5rem; padding-block: 0.5rem;
  transition: color 0.15s;
}
.activity li a:hover { color: var(--primary); }
.act-title {
  flex: 1; min-width: 0; font-size: 13px; font-weight: 500;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.act-rank { flex-shrink: 0; font-size: 12px; font-weight: 600; color: var(--primary); font-variant-numeric: tabular-nums; }
.act-time { flex-shrink: 0; font-size: 11px; color: color-mix(in srgb, var(--muted-foreground) 70%, transparent); }
.activity .show-more {
  align-self: center; margin: 0.5rem 0 0.75rem; padding: 0.3rem 0.9rem;
  border: 1px solid var(--border); border-radius: 999px; background: transparent;
  font-size: 12px; font-weight: 600; color: var(--muted-foreground); cursor: pointer;
  transition: all 0.15s;
}
.activity .show-more:hover { color: var(--foreground); border-color: var(--muted-foreground); }

/* ==========================================================================
   Kategoriler bölümü
   ========================================================================== */
.kategoriler { margin-top: 3.5rem; scroll-margin-top: 5rem; }
.section-sub {
  margin-top: 0.5rem; text-align: center;
  font-size: 14px; color: var(--muted-foreground); text-wrap: pretty;
}

.kategori-izgara {
  margin-top: 1.25rem; display: grid; gap: 0.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 600px) { .kategori-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .kategori-izgara { grid-template-columns: repeat(3, 1fr); } }

.kategori-kart {
  display: flex; flex-direction: column; gap: 0.15rem;
  padding: 0.7rem 0.9rem; text-align: left;
  border: 1px solid var(--border); border-radius: 0.875rem;
  background: var(--card); cursor: pointer;
  transition: border-color 0.15s, background 0.15s, transform 0.15s;
}
.kategori-kart:hover {
  border-color: var(--primary);
  background: rgba(var(--primary-rgb), 0.06);
  transform: translateY(-1px);
}
.kategori-kart:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.35); }

.kategori-ad { font-size: 14px; font-weight: 600; color: var(--foreground); }
.kategori-bilgi { font-size: 12px; color: var(--muted-foreground); font-variant-numeric: tabular-nums; }
.kategori-kart.bos .kategori-bilgi { color: rgba(var(--primary-rgb), 0.8); }

/* ==========================================================================
   Hakkında
   ========================================================================== */
.hakkinda { margin-top: 3.5rem; scroll-margin-top: 5rem; }
.section-title { text-align: center; font-size: 22px; letter-spacing: -0.03em; }
@media (min-width: 768px) { .section-title { font-size: 28px; } }

.hakkinda-izgara {
  margin-top: 1.25rem; display: grid; gap: 0.75rem;
  grid-template-columns: 1fr;
}
@media (min-width: 700px) { .hakkinda-izgara { grid-template-columns: repeat(2, 1fr); } }

.hakkinda-kart {
  padding: 1rem 1.1rem; border: 1px solid var(--border); border-radius: 1rem;
  background: var(--card);
}
.hakkinda-kart h3 {
  font-size: 15px; font-weight: 700; letter-spacing: -0.01em; color: var(--primary);
}
.hakkinda-kart p {
  margin-top: 0.35rem; font-size: 14px; line-height: 1.6; color: var(--muted-foreground);
  text-wrap: pretty;
}

/* Anahtar kelime ipucu ikincildir: asıl ipucunun altında, daha soluk. */
.form-hint-ikincil { opacity: 0.75; font-size: 11px; }

/* ————— Canlı hesap sayacı (sol alt) —————
   Köşede duran küçük bir rozet, ama göz ona takılsın: marka renginde ince bir
   halka, yumuşak bir parıltı ve sayfa açılışında sıfırdan sayan bir sayı.
   Sayı asıl kahraman, etiket ikincil. */
.canli-sayac {
  position: fixed; left: 1rem; bottom: 1rem; z-index: 30;
  display: inline-flex; align-items: center; gap: 0.6rem;
  padding: 0.55rem 1rem 0.55rem 0.85rem;
  border: 1px solid rgba(var(--primary-rgb), 0.35);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(var(--primary-rgb), 0.1), transparent 55%),
    color-mix(in srgb, var(--card) 94%, transparent);
  backdrop-filter: blur(8px);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.12),
    0 0 0 4px rgba(var(--primary-rgb), 0.07);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

/* Fareyle üstüne gelince hafifçe kalkar — tıklanabilir olduğunu sezdirir. */
.canli-sayac:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--primary-rgb), 0.6);
  box-shadow:
    0 12px 34px rgba(0, 0, 0, 0.16),
    0 0 0 5px rgba(var(--primary-rgb), 0.12);
}
.canli-sayac:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.45);
}

.canli-govde { display: flex; flex-direction: column; line-height: 1.1; }

.canli-sayi {
  font-family: var(--mono); font-size: 20px; font-weight: 500;
  letter-spacing: -0.03em; color: var(--primary);
  font-variant-numeric: tabular-nums;
}

.canli-etiket {
  font-size: 10px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--muted-foreground);
  white-space: nowrap;
}

/* Sayı değiştiğinde tek seferlik vurgu. */
.canli-sayac.degisti { animation: sayac-vurgu 0.7s ease-out; }
@keyframes sayac-vurgu {
  0%   { transform: translateY(0) scale(1); }
  30%  { transform: translateY(-3px) scale(1.06); border-color: rgba(var(--primary-rgb), 0.9); }
  100% { transform: translateY(0) scale(1); }
}

@media (max-width: 520px) {
  .canli-sayac { left: 0.6rem; bottom: 0.6rem; padding: 0.45rem 0.8rem 0.45rem 0.65rem; gap: 0.45rem; }
  .canli-sayi { font-size: 17px; }
  .canli-etiket { font-size: 9px; }
}

/* Hareketi azaltma tercihine saygı: parıltı ve zıplama kalkar, sayı yine
   güncellenir (sayma animasyonu da JS tarafında atlanır). */
@media (prefers-reduced-motion: reduce) {
  .canli-sayac,
  .canli-sayac:hover { transition: none; transform: none; }
  .canli-sayac.degisti { animation: none; }
}

/* ————— Yönetici paneli: ekleme verisi ————— */
.yon-kart-veri {
  margin-top: 0.5rem; display: flex; flex-wrap: wrap; gap: 0.35rem;
  font-size: 11px;
}
.yon-veri {
  padding: 0.1rem 0.4rem; border-radius: 0.3rem;
  background: var(--muted); color: var(--muted-foreground);
}
.yon-ip { font-family: var(--mono); }
.yon-soluk { opacity: 0.7; }

.yon-durum {
  margin-left: 0.4rem; padding: 0.1rem 0.45rem; border-radius: 999px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
}
.yon-durum-aktif { background: rgba(22, 163, 74, 0.14); color: var(--live); }
.yon-durum-pasif { background: var(--muted); color: var(--muted-foreground); }
.yon-kart-pasif { opacity: 0.7; }
.yon-sayi-pasif { background: transparent; border: 1px solid var(--border); font-size: 11px; }

/* ————— Platform rozeti —————
   Girişin hangi ağdan geldiğini gösterir. Renk yalnızca ipucu; ağ adı metin
   olarak da yazılı, yani renk körlüğünde bilgi kaybı olmaz. */
.platform {
  padding: 0.1rem 0.4rem; border-radius: 0.35rem;
  font-size: 10px; font-weight: 700; letter-spacing: 0.03em;
  text-transform: uppercase;
  background: var(--muted); color: var(--muted-foreground);
}
.platform-x { background: rgba(15, 20, 25, 0.1); color: #0f1419; }
.platform-instagram { background: rgba(214, 41, 118, 0.12); color: #c13584; }
.platform-tiktok { background: rgba(0, 0, 0, 0.08); color: #010101; }
.platform-linkedin { background: rgba(10, 102, 194, 0.12); color: #0a66c2; }

/* Koyu temada okunur kalsın. */
:root[data-theme="dark"] .platform-x,
:root[data-theme="dark"] .platform-tiktok { background: rgba(255, 255, 255, 0.12); color: #e7e5e4; }
:root[data-theme="dark"] .platform-instagram { color: #f472b6; }
:root[data-theme="dark"] .platform-linkedin { color: #60a5fa; }

/* ————— Anahtar kelime etiketleri —————
   Kartta ve yönetici panelinde aynı görünür. Görünür metin olmaları önemli:
   arama motorları ve yapay zeka tarayıcıları asıl olarak bunu okuyor. */
.anahtar-liste {
  margin-top: 0.5rem; display: flex; flex-wrap: wrap; gap: 0.3rem;
}
.anahtar {
  padding: 0.15rem 0.5rem; border: 1px solid var(--border); border-radius: 999px;
  background: var(--muted); color: var(--muted-foreground);
  font-size: 11px; font-weight: 500; letter-spacing: 0.01em;
  overflow-wrap: anywhere;
}
@media (min-width: 768px) { .anahtar { font-size: 12px; } }

/* ==========================================================================
   404 sayfası ve mini oyun
   ========================================================================== */
.h404 {
  padding-top: 2.5rem; padding-bottom: 4rem;
  display: flex; flex-direction: column; align-items: center; text-align: center;
}

.h404-kod {
  font-family: var(--mono); font-weight: 500; letter-spacing: -0.05em;
  font-size: clamp(4rem, 20vw, 9rem); line-height: 1;
  color: rgba(var(--primary-rgb), 0.18);
}

.h404-baslik {
  margin-top: -0.5rem;
  font-size: 26px; letter-spacing: -0.03em; text-wrap: balance;
}
@media (min-width: 768px) { .h404-baslik { font-size: 34px; } }

.h404-alt {
  margin-top: 0.6rem; max-width: 34rem;
  font-size: 15px; line-height: 1.6; color: var(--muted-foreground);
  text-wrap: pretty;
}

.h404-donus { margin-top: 1.5rem; text-decoration: none; }

/* ————— Oyun ————— */
.oyun-bolum { margin-top: 3.5rem; width: 100%; }

.oyun-kutu {
  margin-top: 1.25rem; margin-inline: auto;
  display: flex; flex-direction: column; align-items: center;
  max-width: 26rem; padding: 1.25rem;
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--card);
}

.oyun-tabela {
  display: flex; gap: 2rem; margin-bottom: 1rem;
}
.oyun-hucre { display: flex; flex-direction: column; align-items: center; }
.oyun-sayi {
  font-family: var(--mono); font-size: 24px; font-weight: 500;
  letter-spacing: -0.03em; color: var(--foreground);
  font-variant-numeric: tabular-nums;
}
.oyun-etiket {
  font-size: 10px; font-weight: 600; letter-spacing: 0.08em;
  color: var(--muted-foreground);
}

/* Tuval kendi genişliğini JS'ten alır; kapsayıcı yalnızca sınırı çizer. */
.oyun-alan {
  width: 100%; display: flex; justify-content: center;
  border-radius: 0.75rem; overflow: hidden;
}
.oyun-alan canvas {
  display: block; border-radius: 0.75rem;
  /* Dokunmatikte çubuk bırakmak sayfayı kaydırmasın. */
  touch-action: manipulation;
  cursor: pointer;
}

.oyun-dugme { margin-top: 1rem; min-width: 9rem; }

.oyun-durum {
  margin-top: 0.6rem; min-height: 1.5rem;
  font-size: 13px; font-weight: 500; color: var(--primary);
}

.oyun-not {
  margin-top: 0.5rem; padding-top: 0.75rem;
  border-top: 1px solid var(--border); width: 100%;
  font-size: 11px; line-height: 1.5; color: var(--muted-foreground);
}

/* ————— Nereye gidebilir ————— */
.h404-baglantilar { margin-top: 3.5rem; width: 100%; }
.h404-baglantilar ul {
  margin-top: 1rem; display: flex; flex-wrap: wrap;
  justify-content: center; gap: 0.5rem;
}
.h404-baglantilar a {
  display: inline-flex; align-items: center;
  padding: 0.4rem 0.9rem; border: 1px solid var(--border); border-radius: 999px;
  background: var(--muted); color: var(--muted-foreground);
  font-size: 13px; font-weight: 500; transition: color 0.15s, border-color 0.15s;
}
.h404-baglantilar a:hover { color: var(--foreground); border-color: var(--muted-foreground); }

/* ==========================================================================
   Yorum penceresi
   ========================================================================== */
.yorum-katman {
  position: fixed; inset: 0; z-index: 100;
  display: flex; align-items: center; justify-content: center; padding: 1rem;
  background: rgba(40, 38, 36, 0.55); backdrop-filter: blur(3px);
}
.yorum-katman[hidden] { display: none; }

.yorum-kutu {
  position: relative; width: 100%; max-width: 30rem;
  max-height: calc(100vh - 2rem); overflow-y: auto;
  padding: 1.5rem; border-radius: 1.25rem;
  background: var(--card); box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
}

.yorum-kapat {
  position: absolute; top: 0.75rem; right: 0.75rem;
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; border: 0; border-radius: 999px;
  background: var(--muted); color: var(--muted-foreground);
  font-size: 18px; line-height: 1; cursor: pointer; transition: color 0.15s;
}
.yorum-kapat:hover { color: var(--foreground); }

.yorum-baslik { font-size: 20px; letter-spacing: -0.02em; }
.yorum-ozet {
  margin-top: 0.375rem; margin-bottom: 1rem;
  font-size: 14px; font-weight: 600; color: var(--primary);
}

/* Yorum listesi — uzun tartışma pencereyi taşırmasın, kendi içinde kaysın. */
.yorum-liste { max-height: 18rem; overflow-y: auto; margin-bottom: 1rem; }
.yorum-madde {
  padding: 0.7rem 0; border-top: 1px solid var(--border);
}
.yorum-madde:first-child { border-top: 0; }
.yorum-ust { display: flex; align-items: baseline; gap: 0.5rem; }
.yorum-yazar { font-size: 13px; font-weight: 600; color: var(--foreground); }
.yorum-yazar-bag { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.yorum-yazar-bag:hover { text-decoration-thickness: 2px; }
.yorum-ust { flex-wrap: wrap; gap: 0.4rem; }
.yorum-zaman { font-size: 12px; color: var(--muted-foreground); }
.yorum-metin {
  margin-top: 0.25rem; font-size: 14px; line-height: 1.6;
  color: var(--muted-foreground); overflow-wrap: anywhere; text-wrap: pretty;
}
.yorum-bos { padding: 0.75rem 0; font-size: 13px; color: var(--muted-foreground); }

.yorum-form { display: flex; flex-direction: column; gap: 0.5rem; }
.yorum-form textarea { resize: vertical; min-height: 4.5rem; font: inherit; }

.yorum-durum { margin-top: 0.75rem; font-size: 13px; color: var(--muted-foreground); min-height: 1.25rem; }
.yorum-durum-ok { color: var(--live); font-weight: 600; }
.yorum-durum-hata { color: #c83c28; font-weight: 600; }

/* Başlık satırı + yorum adedi rozeti. */
.yorum-baslik-satiri { display: flex; align-items: center; gap: 0.5rem; }
.yorum-adet {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.5rem; padding: 0.05rem 0.45rem; border-radius: 999px;
  background: var(--muted); color: var(--muted-foreground);
  font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums;
}

/* Metin kutusu + içine gömülü canlı karakter sayacı. */
.yorum-metin-sar { position: relative; display: flex; }
.yorum-metin-sar textarea { width: 100%; resize: none; overflow-y: auto; }
.yorum-sayac {
  position: absolute; right: 0.55rem; bottom: 0.4rem;
  padding: 0 0.25rem; border-radius: 0.3rem;
  background: var(--card); color: var(--muted-foreground);
  font-size: 11px; font-variant-numeric: tabular-nums; pointer-events: none;
}
.yorum-sayac.yakin { color: #c83c28; font-weight: 600; }

.yorum-form button[type="submit"]:disabled { opacity: 0.5; cursor: not-allowed; }
.yorum-not {
  margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--border);
  font-size: 12px; line-height: 1.5; color: var(--muted-foreground);
}

/* ==========================================================================
   Yönetici paneli
   ========================================================================== */
.yon-etiket {
  padding: 0.2rem 0.5rem; border-radius: 999px;
  background: var(--primary-dolgu); color: var(--primary-foreground);
  font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
}

.yon-govde { padding-bottom: 4rem; }

.yon-uyari, .yon-giris {
  margin-top: 3rem; padding: 1.5rem; border: 1px solid var(--border);
  border-radius: 1rem; background: var(--card); text-align: center;
}
.yon-giris { max-width: 24rem; margin-inline: auto; }

.yon-kod {
  margin-top: 1rem; padding: 0.75rem; border-radius: 0.5rem;
  background: var(--muted); color: var(--foreground);
  font-family: var(--mono); font-size: 12px;
  overflow-x: auto; text-align: left;
}

.yon-form { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; }
.yon-alan { display: flex; flex-direction: column; gap: 0.3rem; text-align: left; }
.yon-alan span { font-size: 13px; font-weight: 600; color: var(--muted-foreground); }
.yon-alan input {
  padding: 0.6rem 0.75rem; border: 1px solid var(--border); border-radius: 0.6rem;
  background: var(--background); color: var(--foreground); font: inherit;
}
.yon-alan input:focus-visible {
  outline: none; border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.25);
}

.yon-bilgi, .yon-hata {
  margin-top: 1.25rem; padding: 0.6rem 0.9rem; border-radius: 0.6rem; font-size: 14px;
}
.yon-bilgi { background: rgba(var(--primary-rgb), 0.12); color: var(--primary); }
.yon-hata { background: rgba(200, 60, 40, 0.12); color: #c83c28; }

.yon-bolum { margin-top: 2.5rem; }
.yon-bolum .section-title { display: flex; align-items: center; justify-content: center; gap: 0.5rem; }
.yon-sayi {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.6rem; padding: 0.1rem 0.4rem; border-radius: 999px;
  background: var(--muted); color: var(--muted-foreground);
  font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
}

.yon-liste { margin-top: 1.25rem; display: grid; gap: 0.75rem; }

.yon-kart {
  display: flex; flex-direction: column; gap: 0.75rem;
  padding: 1rem 1.1rem; border: 1px solid var(--border); border-radius: 1rem;
  background: var(--card);
}
@media (min-width: 700px) {
  .yon-kart { flex-direction: row; align-items: flex-start; justify-content: space-between; }
  .yon-kart-govde { flex: 1; min-width: 0; }
}
.yon-kart-baslik { font-size: 15px; font-weight: 600; color: var(--foreground); }
.yon-kart-alt {
  margin-top: 0.2rem; font-size: 12px; color: var(--muted-foreground);
  overflow-wrap: anywhere;
}
.yon-kart-alt a { color: var(--primary); }
.yon-kart-metin {
  margin-top: 0.5rem; font-size: 14px; line-height: 1.6; color: var(--muted-foreground);
  overflow-wrap: anywhere; text-wrap: pretty;
}

.yon-eylemler { display: flex; flex-wrap: wrap; gap: 0.4rem; flex-shrink: 0; }
.yon-satir-form { display: inline-flex; }

.btn-onay, .btn-ikincil, .btn-sil, .btn-birincil {
  border: 1px solid transparent; border-radius: 999px;
  padding: 0.4rem 0.9rem; font: inherit; font-size: 13px; font-weight: 600;
  cursor: pointer; white-space: nowrap; transition: filter 0.15s, background 0.15s;
}
.btn-birincil, .btn-onay {
  background: var(--primary-dolgu); color: var(--primary-foreground);
}
.btn-birincil:hover, .btn-onay:hover { filter: brightness(1.06); }
.btn-ikincil {
  background: var(--muted); color: var(--muted-foreground); border-color: var(--border);
}
.btn-ikincil:hover { color: var(--foreground); }
.btn-sil {
  background: transparent; color: #c83c28; border-color: rgba(200, 60, 40, 0.4);
}
.btn-sil:hover { background: rgba(200, 60, 40, 0.1); }
.btn-birincil { padding: 0.6rem 1.1rem; font-size: 14px; }

/* ==========================================================================
   İstatistik panosu
   ========================================================================== */
.pano { margin-top: 3.5rem; scroll-margin-top: 5rem; }

.pano-baslik {
  display: flex; flex-direction: column; align-items: center; gap: 0.3rem;
}
.pano-pencere {
  padding: 0.15rem 0.6rem; border-radius: 999px; background: var(--muted);
  font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--muted-foreground);
}

.pano-kutu {
  margin-top: 1.25rem; padding: 1rem;
  border: 1px solid var(--border); border-radius: 1.25rem;
  background: var(--card); box-shadow: var(--shadow-card);
}
@media (min-width: 768px) { .pano-kutu { padding: 1.5rem; } }

.pano-ozet {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem;
}
@media (min-width: 560px) { .pano-ozet { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 900px) { .pano-ozet { grid-template-columns: repeat(7, 1fr); } }

.pano-kutucuk {
  display: flex; flex-direction: column; gap: 0.1rem;
  padding: 0.6rem 0.7rem; border-radius: 0.75rem; background: var(--muted);
}
.pano-deger {
  font-family: var(--mono); font-size: 1.1rem; font-weight: 500;
  letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--foreground);
}
.pano-deger.vurgu { color: var(--primary); }
.pano-deger.canli { color: var(--live); }
.pano-etiket { font-size: 11px; color: var(--muted-foreground); }

/* ————— Saatlik grafik ————— */
.pano-grafik { margin: 1.5rem 0 0; }
.pano-alt-baslik {
  font-size: 12px; font-weight: 600; letter-spacing: 0.04em;
  color: var(--muted-foreground); margin-bottom: 0.5rem;
}

.grafik {
  display: flex; align-items: flex-end; gap: 2px;
  height: 8rem; padding: 0.4rem; border-radius: 0.75rem; background: var(--muted);
}
.grafik-sutun { flex: 1; height: 100%; display: flex; align-items: flex-end; }
.grafik-dolgu {
  display: block; width: 100%; border-radius: 3px 3px 1px 1px;
  background: var(--primary); transition: height 0.35s ease;
}
.grafik-dolgu.bos { background: color-mix(in srgb, var(--muted-foreground) 25%, transparent); }

.grafik-eksen {
  display: flex; justify-content: space-between; margin-top: 0.35rem;
  font-size: 11px; color: var(--muted-foreground); font-variant-numeric: tabular-nums;
}

/* ————— Ülke / kaynak / tarayıcı listeleri ————— */
.pano-ikili {
  margin-top: 1.5rem; display: grid; grid-template-columns: 1fr; gap: 1.25rem;
}
@media (min-width: 700px) { .pano-ikili { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .pano-ikili { grid-template-columns: repeat(3, 1fr); } }

.pano-satir {
  position: relative; display: flex; align-items: center; gap: 0.5rem;
  padding: 0.4rem 0.55rem; border-radius: 0.5rem; overflow: hidden;
}
.pano-satir + .pano-satir { margin-top: 2px; }
.pano-satir-dolgu {
  position: absolute; inset: 0 auto 0 0; z-index: 0;
  background: rgba(var(--primary-rgb), 0.14); border-radius: inherit;
  transition: width 0.35s ease;
}
.pano-satir-ad {
  position: relative; z-index: 1; flex: 1; min-width: 0;
  font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pano-satir-sayi {
  position: relative; z-index: 1; flex-shrink: 0;
  font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums;
  color: var(--muted-foreground);
}
.pano-bos { padding: 0.4rem 0.55rem; font-size: 13px; color: var(--muted-foreground); }

.pano-not {
  margin-top: 1.25rem; padding-top: 0.9rem; border-top: 1px solid var(--border);
  font-size: 12px; line-height: 1.6; color: var(--muted-foreground); text-wrap: pretty;
}

.activity-empty { padding: 0.75rem 0 1rem; font-size: 13px; color: var(--muted-foreground); }

/* ==========================================================================
   Alt bilgi
   ========================================================================== */
.site-footer { border-top: 1px solid var(--border); padding-block: 1.5rem; }
.footer-inner {
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  text-align: center; font-size: 13px; color: var(--muted-foreground);
}
.footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.footer-nav a:hover { color: var(--foreground); }
.footer-nav a.is-current { color: var(--foreground); }
.footer-not { font-size: 12px; }

/* ==========================================================================
   Yasal sayfa (Kurallar / Koşullar / Gizlilik)
   ========================================================================== */
.yasal { padding-block: 1.5rem 2.5rem; }

.yasal-sekmeler {
  display: flex; flex-wrap: wrap; gap: 0.4rem;
  padding: 0.25rem; border: 1px solid var(--border); border-radius: 999px;
  background: var(--muted); width: fit-content; margin-inline: auto;
}
.yasal-sekme {
  padding: 0.45rem 0.95rem; border-radius: 999px;
  font-size: 13px; font-weight: 500; color: var(--muted-foreground);
}
.yasal-sekme:hover { color: var(--foreground); }
.yasal-sekme.is-active {
  background: var(--card); color: var(--foreground); box-shadow: var(--shadow-card);
}

.yasal-belge { max-width: 44rem; margin: 2rem auto 0; }

.yasal-baslik { font-size: 26px; letter-spacing: -0.03em; text-wrap: balance; }
@media (min-width: 768px) { .yasal-baslik { font-size: 32px; } }

.yasal-tarih {
  margin-top: 0.5rem; font-family: var(--mono); font-size: 12px;
  color: var(--muted-foreground);
}

.yasal-giris {
  margin-top: 1rem; font-size: 16px; line-height: 1.7; text-wrap: pretty;
}

.yasal-bolum { margin-top: 2rem; }
.yasal-bolum h2 {
  font-size: 17px; letter-spacing: -0.01em; color: var(--primary);
}
@media (min-width: 768px) { .yasal-bolum h2 { font-size: 19px; } }

.yasal-bolum p {
  margin-top: 0.75rem; font-size: 15px; line-height: 1.75;
  color: var(--muted-foreground); text-wrap: pretty;
}

.yasal-liste { margin-top: 0.75rem; display: grid; gap: 0.6rem; }
.yasal-liste li {
  position: relative; padding-left: 1.1rem;
  font-size: 15px; line-height: 1.75; color: var(--muted-foreground);
  text-wrap: pretty;
}
.yasal-liste li::before {
  content: ""; position: absolute; left: 0; top: 0.72em;
  width: 5px; height: 5px; border-radius: 50%; background: var(--primary);
}

.yasal-belge a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }

.yasal-geri {
  margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--border);
  font-size: 14px;
}
.yasal-geri a { color: var(--muted-foreground); text-decoration: none; }
.yasal-geri a:hover { color: var(--foreground); }

/* ==========================================================================
   Mobil ergonomi — dosyanın sonunda, çünkü yukarıdaki boyutları ezmesi gerekir
   ==========================================================================
   Dokunmatik ekranda etkileşimli ögeler gerçek boyutuyla büyütülür. Görünmez
   dokunma alanı eklemek kolay olurdu ama kart içindeki butonlar dikey sıralı;
   genişletilmiş alanlar üst üste biner ve yanlış hedefe basılırdı. */
@media (pointer: coarse) {
  .cat-chip, .cats-more, .btn-oy, .btn-outbid, .show-more, .dil-bayrak,
  .btn-onay, .btn-ikincil, .btn-sil, .btn-birincil, .h404-baglantilar a {
    min-height: var(--dokunma);
    display: inline-flex; align-items: center; justify-content: center;
  }
  .link-details { min-height: 2rem; display: inline-flex; align-items: center; }

  .entry-actions { gap: 0.5rem; }
  .yon-eylemler { gap: 0.5rem; }
  .icon-btn { width: var(--dokunma); height: var(--dokunma); }

  /* Yatay dizilenlerde yalnızca dikey alan büyür, komşuyla çakışma olmaz. */
  .seg-tab, .main-nav a, .footer-nav a {
    display: inline-flex; align-items: center; min-height: 2.75rem;
  }

  /* Form denetimleri kapsayıcısının tamamını doldursun; 44px'lik alan
     görünüyor ama tıklanabilir kutu daha küçük kalıyordu. */
  .field input, .field select { align-self: stretch; }

  /* Kaydırılan şeritte parmakla tutmayı kolaylaştır. */
  .cats-strip { scroll-snap-type: x proximity; }
  .cat-chip { scroll-snap-align: start; }

  /* Kategori listesinde her satır parmakla basılabilir olmalı. */
  .kat-secenek { min-height: var(--dokunma); }
  .kat-panel { max-height: min(24rem, 55vh); }
}
