/* PUMPBET -sportsbook tarzı maç öncesi panel.
   Sahne: akşam, loş oda, telefon/masaüstünden bu gece ve yarının oranlarına bakış.

   PALET -Robinhood: asit limon #CCFF00 + nötr siyah/beyaz. Robinhood'un kimliği
   düz ve keskindir: parıltı yok, degrade yok, tek doygun renk.

   #CCFF00 = oklch(0.9307 0.2286 123.09). Çok AÇIK bir renk (L 0.93), bu yüzden
   üzerine beyaz metin gelemez (1.18:1); limon zemin daima koyu metin ister.

   Renk stratejisi: RESTRAINED. Nötrler yüzeyin ~%95'ini taşır; limon üç iş yapar
   -oran rakamı, seçili/birincil aksiyon, kazanç durumu. Nötrler marka hue'suna (123)
   0.004-0.010 chroma ile fısıldar şekilde boyanmıştır; düz gri değil ama "limon tema"
   da değil. Bu, PRODUCT.md'deki "neon-siyah kumarhane abartısı" anti-referansından
   kaçınmak için bilinçli: renk ne kadar az yerdeyse o kadar güçlü.

   Tüm metin/zemin çiftleri WCAG AA (4.5:1) doğrulandı; en düşük 6.48:1. */
:root {
  /* nötr katmanlar -koyudan açığa */
  --side-bg: oklch(0.112 0.004 123);   /* üst bar, kenar çubuğu: en derin katman */
  --nav-bg: oklch(0.135 0.004 123);    /* sekme şeridi */
  --bg: oklch(0.155 0.005 123);        /* içerik zemini */
  --panel: oklch(0.195 0.005 123);     /* maç satırı, kart */
  --panel-2: oklch(0.238 0.006 123);   /* oran kutusu, yükseltilmiş yüzey */
  --line: oklch(0.320 0.008 123);      /* görünür kenarlık */
  --line-soft: oklch(0.250 0.006 123); /* ayırıcı */

  /* metin */
  --ink: oklch(0.965 0.004 123);
  --muted: oklch(0.685 0.010 123);

  /* marka -Robinhood limon #CCFF00 */
  --accent: oklch(0.9307 0.2286 123.09);
  /* Tam güçteki limon, bir listede 150 kez tekrarlanınca neon duvarına dönüşür.
     Duran oran rakamları bir tık geri çekilir; tam limon etkileşime ayrılır. */
  --accent-quiet: oklch(0.840 0.175 123);
  --accent-dim: oklch(0.700 0.145 123);  /* hover kenarlığı */
  --accent-soft: oklch(0.300 0.075 123); /* seçili satır zemini */
  --on-accent: oklch(0.160 0.030 123);      /* limon zemin üzerinde: rakam (16.5:1) */
  --on-accent-mute: oklch(0.380 0.055 123); /* limon zemin üzerinde: etiket (8.4:1) */

  /* durum -limon "kazanç"tır (Robinhood'da olduğu gibi), ayrı bir yeşil icat etme */
  --win: var(--accent);
  /* Uyarı turuncusu limondan 61 derece uzakta: "simüle oran" rozeti oran
     rakamlarının yanında durduğu için ikisi asla karışmamalı. */
  --warn: oklch(0.820 0.130 62);
  --warn-bg: oklch(0.270 0.055 62);
  --err: oklch(0.700 0.160 27);
  /* Tek gölge rengi; yükseklik farkı blur/offset ile verilir, opaklıkla değil */
  --shadow: oklch(0.050 0.010 123 / .6);

  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --body: "Archivo", system-ui, sans-serif;
  --odd-w: 64px;
  --odd-gap: 6px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body);
  font-size: 14px;
  line-height: 1.45;
  min-height: 100vh;
}
button { font: inherit; color: inherit; }
img { max-width: 100%; }

/* ---------- simülasyon uyarı şeridi ---------- */
.simbar {
  background: var(--warn-bg);
  color: var(--warn);
  border-bottom: 1px solid oklch(0.40 0.085 62);
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
  padding: 6px clamp(10px, 3vw, 24px);
}
.simbar b { letter-spacing: .5px; }

/* ---------- üst bilgi ---------- */
.site-head { background: var(--side-bg); }
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 16px;
  padding: 14px clamp(14px, 3vw, 32px) 10px;
  max-width: 1280px;
  margin: 0 auto;
}
.mainnav {
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  background: var(--nav-bg);
}
.mainnav-inner {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(14px, 3vw, 32px);
  min-height: 44px;
}
.sport-tabs { display: flex; gap: 14px; align-self: stretch; }
.sport-tab {
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  font-weight: 700;
  font-size: 13px;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  padding: 0 2px;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.sport-tab:hover { color: var(--ink); }
.sport-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.sport-tab.active { color: var(--accent); border-bottom-color: var(--accent); }
.day-tabs { display: flex; gap: 4px; }
.day-tab {
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.day-tab:hover { color: var(--ink); background: var(--panel); }
.day-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.day-tab.active { background: var(--accent-soft); color: var(--ink); }
.day-sep {
  width: 1px;
  height: 18px;
  background: var(--line-soft);
  margin: 0 4px;
  align-self: center;
}
.nav-bets {
  background: none;
  border: 1px solid var(--line-soft);
  border-radius: 6px;
  padding: 5px 12px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, color .15s;
}
.nav-bets:hover { color: var(--ink); background: var(--panel); }
.nav-bets:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.nav-bets.active { background: var(--accent-soft); color: var(--ink); border-color: transparent; }
a.nav-game { text-decoration: none; display: inline-flex; align-items: center; }
.nav-bets span {
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--accent);
  margin-left: 2px;
}
.mainnav-note {
  margin-left: auto;
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--muted);
}
.brand { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* Kontrat adresi: tıkla-kopyala */
.ca-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--panel);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  padding: 5px 12px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
  cursor: pointer;
  max-width: 380px;
  transition: border-color .15s, color .15s;
}
.ca-chip:hover { color: var(--ink); border-color: var(--accent); }
.ca-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ca-chip.copied { color: var(--accent); border-color: var(--accent); }
.ca-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ca-ico { flex: none; opacity: .7; }

/* Telegram butonu */
.tg-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--accent-soft);
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
  transition: background .15s, filter .15s;
}
.tg-btn:hover { background: var(--accent); color: var(--on-accent); }
.tg-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tg-btn svg { flex: none; }
.brand-logo {
  height: 42px;
  width: auto;
  display: block; /* şeffaf png: çerçeve gerekmez */
}
.foot-logo { height: 32px; }
.brand-mark {
  font-family: var(--mono);
  font-weight: 600;
  color: var(--accent);
  font-size: 20px;
  letter-spacing: -1px;
}
.brand-name {
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 2.5px;
  color: var(--accent);
  /* Parıltı yok: Robinhood'un kimliği düz ve keskin. Neon halo tam olarak
     PRODUCT.md'nin reddettiği "kumarhane" sinyaliydi; renk zaten yeterince güçlü. */
  white-space: nowrap;
}
.brand-tag {
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.meta { font-family: var(--mono); font-size: 11.5px; color: var(--muted); }
.wallet { display: flex; align-items: center; gap: 10px; }
.wallet-btn {
  background: var(--panel);
  border: 1px solid var(--accent);
  color: var(--accent);
  border-radius: 999px;
  font-weight: 600;
  font-size: 12.5px;
  padding: 7px 16px;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.wallet-btn:hover { background: var(--accent); color: var(--on-accent); }
.wallet-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.wallet-info { display: inline-flex; align-items: baseline; gap: 8px; }
.sim-tag {
  align-self: center;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--warn);
  background: var(--warn-bg);
  border-radius: 4px;
  padding: 2px 6px;
}
.wallet-info[hidden] { display: none; }
.wallet-info b { font-family: var(--mono); font-size: 14px; color: var(--accent); }
.wallet-addr { font-family: var(--mono); font-size: 11px; color: var(--muted); }
.meta-sep { margin: 0 8px; }
.meta-stamp.err { color: var(--err); }

/* ---------- iskelet ---------- */
.shell {
  display: grid;
  grid-template-columns: 256px minmax(0, 1fr);
  max-width: 1280px;
  margin: 0 auto;
  align-items: start;
}

/* ---------- sol menü ---------- */
.sidenav {
  background: var(--side-bg);
  border-right: 1px solid var(--line-soft);
  position: sticky;
  top: 0;
  max-height: 100vh;
  overflow-y: auto;
}
.side-inner { padding: 18px 10px 32px; }
.side-section + .side-section { margin-top: 22px; }
.side-title {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0 10px 8px;
}
.side-list { list-style: none; }
.side-link {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 7px 10px;
  background: none;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
  transition: background .15s;
}
.side-link:hover { background: var(--panel); }
.side-link:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.side-link.active { background: var(--accent-soft); color: var(--ink); }
.side-link.active .side-count { color: var(--accent); }
.side-link img { width: 16px; height: 16px; object-fit: contain; flex-shrink: 0; }
.side-dot {
  width: 16px; height: 16px; flex-shrink: 0;
  display: inline-block; position: relative;
}
.side-dot::after {
  content: ""; position: absolute; inset: 5px;
  border-radius: 50%; background: var(--line);
}
.side-name {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
}
.side-count { font-family: var(--mono); font-size: 10.5px; color: var(--muted); }
.side-caret { color: var(--muted); transition: transform .15s; }
.side-link.country.open .side-caret { transform: rotate(90deg); }
.side-sub { list-style: none; padding-left: 14px; }
.side-sub .side-link { padding: 5px 10px; font-size: 13px; }

.side-scrim { display: none; }

/* ---------- içerik ---------- */
.content { padding: 16px clamp(14px, 2.5vw, 28px) 48px; min-width: 0; }

.toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.nav-toggle {
  display: none;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
}
.search {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font-family: var(--body);
  font-size: 13.5px;
  padding: 9px 14px;
  width: min(340px, 100%);
}
.search:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent; }
.search::placeholder { color: var(--muted); }
.odds-only {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  cursor: pointer;
  user-select: none;
}
.odds-only input { accent-color: var(--accent); width: 15px; height: 15px; cursor: pointer; }
.odds-only:has(input:checked) { color: var(--ink); }

.crumb[hidden] { display: none; }
.crumb {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  font-size: 13px;
  color: var(--muted);
}
.crumb #crumb-label { color: var(--ink); font-weight: 600; }
.crumb button {
  background: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  padding: 4px 12px;
  cursor: pointer;
}
.crumb button:hover { color: var(--ink); border-color: var(--muted); }

/* ---------- lig blokları ---------- */
.board { margin-top: 6px; }
.league { margin-top: 22px; }
.league-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  background: var(--panel);
  border: 1px solid var(--line-soft);
  border-radius: 8px 8px 0 0;
}
.league-head img { width: 16px; height: 16px; object-fit: contain; }
.league-country {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .5px;
}
.league-country::after { content: "·"; margin-left: 8px; }
.league-title { font-weight: 700; font-size: 13.5px; flex: 1; min-width: 0; }
.league-cols {
  display: flex;
  gap: var(--odd-gap);
  margin-right: 26px; /* maç satırındaki ok sütunu (14px) + boşluk */
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--muted);
}
.league-cols i { font-style: normal; width: var(--odd-w); text-align: center; }

/* ---------- maç satırı ---------- */
.match {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto 14px;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border: 1px solid var(--line-soft);
  border-top: 0;
  background: var(--nav-bg);
}
.match:last-child { border-radius: 0 0 8px 8px; }
.match:hover { background: var(--panel); }

.m-when {
  font-family: var(--mono);
  font-size: 12px;
  text-align: center;
  color: var(--ink);
}
.m-when .d {
  display: block;
  font-size: 9.5px;
  letter-spacing: .5px;
  color: var(--muted);
  text-transform: uppercase;
}

.pair { display: grid; row-gap: 4px; min-width: 0; }
.team { display: flex; align-items: center; gap: 8px; min-width: 0; }
.team img { width: 17px; height: 17px; object-fit: contain; flex-shrink: 0; }
.team span {
  font-weight: 500;
  font-size: 13.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 1X2 oran kutuları -imza öğe */
.odds { display: flex; gap: var(--odd-gap); }
.odd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--odd-w);
  padding: 8px 8px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 6px;
  transition: border-color .15s, background .15s;
}
.match:hover .odd { border-color: var(--accent-dim); }
.odd i {
  font-style: normal;
  font-family: var(--mono);
  font-size: 9.5px;
  color: var(--muted);
}
.odd b {
  font-family: var(--mono);
  font-weight: 600;
  font-size: 12.5px;
  color: var(--accent-quiet);
}
.odds.none {
  width: calc(var(--odd-w) * 3 + var(--odd-gap) * 2);
  justify-content: center;
  align-items: center;
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--muted);
}
/* ---------- canlı skorlar ---------- */
.live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--err);
  flex: none;
  animation: livePulse 1.6s ease-in-out infinite;
}
@keyframes livePulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 var(--err); }
  50% { opacity: .65; box-shadow: 0 0 0 4px oklch(0.700 0.160 27 / 0); }
}
.live-tab { display: inline-flex; align-items: center; gap: 6px; }
.live-tab.has-live { color: var(--ink); }
.live-tab.has-live .live-dot { background: var(--err); }
.live-tab span:not(.live-dot) { font-family: var(--mono); font-size: 10.5px; color: var(--err); }

.match.live { cursor: default; }
.match.live:hover { background: var(--panel); }
.live-when { display: flex; align-items: center; gap: 6px; }
.live-min {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--err);
}
.live-score {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: calc(var(--odd-w) * 3 + var(--odd-gap) * 2);
  align-items: flex-end;
  padding-right: 6px;
}
.live-score b {
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.15;
}
.bet-score.live { display: inline-flex; align-items: center; gap: 5px; color: var(--err); }
.bet.pending .bet-status { color: var(--warn); }
.bet.rejected .bet-status { color: var(--muted); }
.bet-reject {
  margin-top: 6px;
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--warn);
}
/* Canlı satırda skor + oran yan yana durur */
.live-right { display: flex; align-items: center; gap: 12px; }
.live-right .live-score { width: auto; padding-right: 0; }

/* Canlı oranın kaynağı: model mi, bahis şirketi mi — satırda görünür */
.odds-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.odds-src {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--muted);
  padding: 1px 5px;
  border-radius: 3px;
  background: var(--panel-2);
}
.odds-src.model { color: var(--warn); background: var(--warn-bg); }

.live-note {
  margin-top: 12px;
  padding: 10px 14px;
  border: 1px solid var(--line-soft);
  border-left: 3px solid var(--err);
  border-radius: 8px;
  background: var(--panel);
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}
.live-note[hidden] { display: none; }
.live-note b { color: var(--ink); }

/* Basketbol: beraberlik yok, 2 kutu — 3'lük sütun genişliğinde sağa hizalanır */
.odds.two { width: calc(var(--odd-w) * 3 + var(--odd-gap) * 2); justify-content: flex-end; }
.league-cols.two i:first-child { margin-left: calc(var(--odd-w) + var(--odd-gap)); }

.empty {
  padding: 70px 0;
  text-align: center;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 12.5px;
}

/* ---------- maç detayı: tüm marketler ---------- */
.match { cursor: pointer; }
.match:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.m-more { color: var(--muted); font-size: 11px; }
.match.open { background: var(--panel); border-bottom: 0; }
.match.open .odd { border-color: var(--accent-dim); }

.detail {
  border: 1px solid var(--line-soft);
  border-top: 1px dashed var(--line);
  background: var(--bg);
  padding: 14px 12px 18px;
}
.detail:last-child { border-radius: 0 0 8px 8px; }
.detail-note {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--muted);
  padding: 8px 2px;
}
.mkt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px 18px;
  align-items: start;
}
.mkt h4 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}
.mkt-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.mkt-line + .mkt-line { margin-top: 4px; }
.mkt-hdp {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink);
  min-width: 34px;
  text-align: right;
  padding-right: 4px;
}
.cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 56px;
  justify-content: space-between;
  padding: 5px 8px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 5px;
}
.cell i {
  font-style: normal;
  font-size: 10.5px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}
.cell b {
  font-family: var(--mono);
  font-weight: 600;
  font-size: 12px;
  color: var(--accent-quiet);
}

/* ---------- oran seçimi ---------- */
.odd, .cell { cursor: pointer; transition: border-color .15s, background .15s; }
.odd:hover, .cell:hover { border-color: var(--accent); }
.odd:focus-visible, .cell:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.odd.off { cursor: default; opacity: .55; }
.odd.off:hover { border-color: var(--line); }
.odd.sel, .cell.sel { background: var(--accent); border-color: var(--accent); }
/* Seçili kutuda hiyerarşi korunur: etiket geri çekilir, rakam öne çıkar */
.odd.sel i, .cell.sel i { color: var(--on-accent-mute); }
.odd.sel b, .cell.sel b { color: var(--on-accent); }

/* ---------- deneme kuponu ---------- */
.slip { position: fixed; right: 16px; bottom: 16px; z-index: 30; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.slip-toggle {
  background: var(--accent);
  color: var(--on-accent);
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13.5px;
  padding: 10px 18px;
  cursor: pointer;
  box-shadow: 0 4px 18px var(--shadow);
}
.slip-toggle:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.slip-count {
  background: var(--on-accent);
  color: var(--accent);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 11.5px;
  padding: 1px 8px;
  margin-left: 4px;
}
.slip-panel[hidden] { display: none; }
.slip-panel {
  width: 320px;
  max-height: min(70vh, 560px);
  display: flex;
  flex-direction: column;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 10px 34px var(--shadow);
  overflow: hidden;
  order: -1; /* panel düğmenin üstünde açılır */
}
.slip-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px;
  font-weight: 700;
  font-size: 13px;
  border-bottom: 1px solid var(--line-soft);
  background: var(--side-bg);
}
.slip-head button {
  background: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11.5px;
  padding: 3px 10px;
  cursor: pointer;
}
.slip-head button:hover { color: var(--ink); border-color: var(--muted); }
.slip-items { overflow-y: auto; flex: 1; }
.slip-empty { padding: 22px 14px; color: var(--muted); font-size: 12.5px; }
.slip-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px 9px 14px;
  border-bottom: 1px solid var(--line-soft);
}
.slip-item.dead { opacity: .55; }
.slip-item-main { flex: 1; min-width: 0; }
.slip-teams {
  display: block;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.slip-pick { font-size: 11.5px; color: var(--muted); }
.slip-pick b { color: var(--ink); }
.slip-pick em { color: var(--err); font-style: normal; margin-left: 4px; }
.slip-val { font-family: var(--mono); font-size: 12.5px; color: var(--accent); }
.slip-del {
  background: none;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  padding: 4px 6px;
  border-radius: 4px;
}
.slip-del:hover { color: var(--err); background: var(--panel-2); }
.slip-foot { padding: 12px 14px 12px; border-top: 1px solid var(--line-soft); background: var(--side-bg); }
.slip-stake { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12.5px; color: var(--muted); }
.slip-stake input {
  width: 110px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font-family: var(--mono);
  font-size: 13px;
  padding: 7px 10px;
  text-align: right;
}
.slip-stake input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.slip-line {
  display: flex;
  justify-content: space-between;
  font-size: 12.5px;
  color: var(--muted);
  margin-top: 9px;
}
.slip-line b { font-family: var(--mono); color: var(--ink); }
.slip-line.win { font-size: 13.5px; }
.slip-line.win b { color: var(--accent); font-size: 15px; }
.slip-note { margin-top: 10px; font-size: 10.5px; color: var(--muted); line-height: 1.45; }

.slip-tabs { display: flex; gap: 4px; }
.slip-tab {
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
}
.slip-tab:hover { color: var(--ink); }
.slip-tab.active { background: var(--accent-soft); color: var(--ink); }
.slip-tab span { font-family: var(--mono); font-size: 10.5px; color: var(--accent); }

.slip-play {
  width: 100%;
  margin-top: 12px;
  background: var(--accent);
  color: var(--on-accent);
  border: 0;
  border-radius: 7px;
  font-weight: 700;
  font-size: 13.5px;
  padding: 10px 0;
  cursor: pointer;
}
.slip-play:hover { filter: brightness(1.06); }
.slip-play:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.slip-msg {
  margin-top: 9px;
  font-size: 12px;
  color: var(--err);
  line-height: 1.4;
}
.slip-msg.ok { color: var(--win); }

/* Kuponlarım listesi */
.bet { border-bottom: 1px solid var(--line-soft); padding: 10px 14px; }
.bet-head { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted); }
.bet-status { font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.bet.won .bet-status { color: var(--win); }
.bet.lost .bet-status { color: var(--err); }
.bet.open .bet-status { color: var(--accent); }
.bet-sel { margin-top: 6px; }
.bet-teams { display: block; font-size: 12px; font-weight: 600; }
.bet-pick { font-size: 11.5px; color: var(--muted); }
.bet-pick b { color: var(--ink); }
.bet-sel.win .bet-pick b { color: var(--win); }
.bet-sel.lose .bet-pick b { color: var(--err); }
.bet-foot {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--muted);
}
.bet-foot b { color: var(--accent); }
.bet.lost .bet-foot b { color: var(--muted); }
.bet-kick {
  font-style: normal;
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--muted);
  margin-left: 6px;
}
.bet-score {
  display: block;
  margin-top: 3px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink);
  opacity: .85;
}
.bet-res {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-left: 6px;
}
.bet-res.win { color: var(--win); }
.bet-res.lose { color: var(--err); }
.bet-res.void { color: var(--muted); }

/* ---------- Kuponlarım sayfası ---------- */
.shell[hidden] { display: none; }
.betspage {
  max-width: 860px;
  margin: 0 auto;
  padding: 22px clamp(14px, 3vw, 32px) 60px;
}
.betspage[hidden] { display: none; }
.betspage-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.betspage-head h1 { font-size: 19px; letter-spacing: .5px; }
.betspage-note {
  margin-top: 8px;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}
.bets-filter { display: flex; gap: 4px; }
.bf {
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.bf:hover { color: var(--ink); background: var(--panel); }
.bf:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.bf.active { background: var(--accent-soft); color: var(--ink); }
.bets-grid { margin-top: 16px; display: grid; gap: 12px; }
.bets-grid .bet {
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  background: var(--panel);
  padding: 12px 16px 14px;
}
.bets-grid .bet-teams { font-size: 13px; }
.bets-grid .bet-sel {
  padding: 7px 0;
  border-top: 1px solid var(--line-soft);
  margin-top: 7px;
}
.bets-grid .bet-foot { border-top: 1px solid var(--line-soft); padding-top: 9px; margin-top: 10px; }

/* ---------- Liderlik tabloları ---------- */
.lb-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}
.lb {
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  background: var(--panel);
  padding: 14px 16px;
}
.lb h2 { font-size: 14.5px; letter-spacing: .5px; }
.lb-sub { margin-top: 2px; font-size: 11.5px; color: var(--muted); }
.lb-list { list-style: none; margin-top: 10px; }
.lb-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid var(--line-soft);
}
.lb-rank {
  flex: none;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--panel-2);
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
}
.lb-row.top .lb-rank { background: var(--accent-soft); color: var(--accent); font-weight: 700; }
.lb-who {
  min-width: 0;
  flex: 1;
  font-family: var(--mono);
  font-size: 12px;
}
.lb-who em {
  display: block;
  font-style: normal;
  font-family: var(--body);
  font-size: 11px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-val {
  flex: none;
  font-family: var(--mono);
  font-size: 13.5px;
  color: var(--accent);
}
.lb-empty { padding: 18px 0; color: var(--muted); font-size: 12.5px; }

/* Haftalık ödül duyurusu ve son dağıtım */
.reward-note {
  margin-top: 14px;
  padding: 12px 16px;
  background: var(--accent-soft);
  border: 1px solid var(--accent);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.55;
}
.reward-note b { color: var(--accent); }
.lb-gift { flex: none; font-size: 12px; margin-left: -4px; }
.lb-last { margin-top: 16px; }

@media (max-width: 700px) {
  .lb-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .slip { right: 8px; bottom: 8px; left: 8px; align-items: stretch; }
  .slip-toggle { align-self: flex-end; }
  .slip-panel { width: auto; }
}

/* ---------- alt bilgi ---------- */
.foot {
  border-top: 1px solid var(--line-soft);
  background: var(--side-bg);
  color: var(--muted);
  font-size: 12.5px;
}
.foot-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 28px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 28px clamp(14px, 3vw, 32px) 24px;
}
.foot-brand p { margin-top: 10px; max-width: 34ch; line-height: 1.55; }
.foot-community { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.foot-community a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 15px;
  background: var(--panel);
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  line-height: 1;
  transition: border-color .15s, background .15s, color .15s;
}
.foot-community a:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}
.foot-community a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.foot-community svg { flex: none; opacity: .85; }
.foot-brand .brand-name { font-size: 17px; }
.foot-brand .brand-mark { font-size: 15px; }
.foot-col h3 {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 10px;
}
.foot-links { list-style: none; display: grid; gap: 6px; }
.foot-static li { line-height: 1.5; }
.foot-league {
  background: none;
  border: 0;
  padding: 0;
  color: var(--muted);
  cursor: pointer;
  font-size: 12.5px;
  transition: color .15s;
}
.foot-league:hover { color: var(--accent); }
.foot-league:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.foot-league span { font-family: var(--mono); font-size: 10px; opacity: .7; }
.foot-none { font-size: 12px; }
.foot-bottom {
  border-top: 1px solid var(--line-soft);
}
.foot-bottom p {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px clamp(14px, 3vw, 32px) 26px;
  font-size: 11.5px;
  line-height: 1.55;
}

/* ---------- mobil ---------- */
@media (max-width: 900px) {
  .shell { grid-template-columns: 1fr; }
  .sidenav {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(300px, 85vw);
    z-index: 20;
    transform: translateX(-100%);
    transition: transform .2s cubic-bezier(.16, 1, .3, 1);
    border-right: 1px solid var(--line);
  }
  .sidenav.open { transform: none; }
  .side-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 15;
    background: var(--shadow);
  }
  .side-scrim[hidden] { display: none; }
  .nav-toggle { display: block; }
}

@media (max-width: 900px) {
  .foot-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  :root { --odd-w: 56px; }
  .foot-grid { grid-template-columns: 1fr; gap: 20px; }
  .mainnav-note { display: none; }
  .mainnav-inner { overflow-x: auto; gap: 10px; }
  .ca-chip { max-width: 190px; }
  .day-tab { padding: 6px 10px; white-space: nowrap; }
  .betspage-head { flex-direction: column; align-items: flex-start; }
  .match {
    grid-template-columns: 48px minmax(0, 1fr);
    row-gap: 8px;
  }
  .odds { grid-column: 2; justify-content: flex-start; }
  .m-more { display: none; }
  .league-cols { display: none; }
  .meta-date { display: none; }
  .meta-sep { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .live-dot { animation: none; }
  .sidenav { transition: none; }
  .side-link, .odd, .side-caret { transition: none; }
  .wpick-box { animation: none; }
}

/* ---- Cüzdan seçimi -------------------------------------------------------------
   Birden fazla Solana cüzdanı kuruluysa çıkar. Sayfadaki en yüksek katman: kupon
   paneli (z-index 30) dahil her şeyin üstünde durmalı. */
.wpick[hidden] { display: none; }
.wpick {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 16px;
}
.wpick-back {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: oklch(0.050 0.010 123 / .72);
  cursor: pointer;
}
.wpick-box {
  position: relative;
  width: min(360px, 100%);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 18px 50px var(--shadow);
  overflow: hidden;
  animation: wpick-in .16s ease-out;
}
@keyframes wpick-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
.wpick-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line-soft);
}
.wpick-head h2 { font-size: 14px; font-weight: 700; }
.wpick-close {
  background: none;
  border: 0;
  color: var(--muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}
.wpick-close:hover { color: var(--ink); }
.wpick-list { display: flex; flex-direction: column; padding: 8px; gap: 4px; }
.wpick-item {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 11px 12px;
  background: var(--panel-2);
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--ink);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  text-align: left;
  text-decoration: none; /* mobil deep link'lerde <a> olarak kullanılıyor */
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.wpick-item:hover { border-color: var(--accent-dim); background: var(--accent-soft); }
.wpick-item:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.wpick-ico {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  flex: 0 0 auto;
  object-fit: contain;
  background: var(--panel);
}
.wpick-ico-fb {
  display: grid;
  place-items: center;
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  border: 1px solid var(--line);
}
.cashier-btn[hidden] { display: none; }
.cashier-btn {
  border-color: var(--line);
  color: var(--ink);
  margin-right: 8px;
}
.cashier-btn:hover { background: var(--panel-2); color: var(--accent); border-color: var(--accent-dim); }

/* Kasa (yatırma/çekme) — cüzdan seçiciyle aynı pencere iskeletini kullanır */
.cash-body { padding: 14px 16px 4px; }
.cash-bal {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--line-soft);
  font-size: 12px;
  color: var(--muted);
}
.cash-bal b { font-family: var(--mono); font-size: 15px; color: var(--accent); }
.cash-row { display: block; margin-bottom: 8px; font-size: 11.5px; color: var(--muted); }
.cash-row input {
  width: 100%;
  margin-top: 4px;
  padding: 9px 11px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font: 600 14px var(--mono);
}
.cash-row input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.cash-body .slip-play { width: 100%; margin-bottom: 12px; }
.cash-body .slip-play.sec {
  background: var(--panel-2);
  border: 1px solid var(--line);
  color: var(--ink);
}
.cash-body .slip-play.sec:hover { border-color: var(--accent-dim); }
.wallet-info .clickable { cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; }

.wpick-warn {
  display: block;
  margin-top: 2px;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--warn);
}
.wpick-note {
  padding: 4px 16px 14px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
}
