/* ============================================================
   bet1x — pitch demo design tokens
   Concept: a live "signal" aesthetic — the product's own game
   colors (green / red / violet) become the visual language,
   streamed as a pulse strip rather than decorative gradients.
   Documented in full in theme_style_guide.md.

   Every page shares these tokens now — see the body.exchange-theme
   block further down, which restates the same dark values for
   player-facing pages (it held the 2026-08-25 cream reskin from
   docs/NEW-DESIGN until 2026-09-06, when it was reverted).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;700&family=Baloo+2:wght@500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');

:root {
  /* Color */
  --bg:        #0b0e1d;
  --bg-soft:   #10142a;
  --surface:   #141833;
  --surface-2: #1a2040;
  --border:    #262b4a;
  --text:      #edeffa;
  --text-dim:  #8790b8;
  --text-faint:#5b628a;

  --green:  #2ed47a;
  --red:    #ff4b6e;
  --violet: #a56bff;
  --gold:   #ffc53d;

  --green-soft:  rgba(46,212,122,0.12);
  --red-soft:    rgba(255,75,110,0.12);
  --violet-soft: rgba(165,107,255,0.12);
  --gold-soft:   rgba(255,197,61,0.12);

  /* Type */
  --font-display: 'Space Grotesk', 'Segoe UI', sans-serif;
  --font-body: 'Inter', 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Layout */
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --shadow-card: 0 8px 30px rgba(0,0,0,0.35);
  --max-width: 1180px;

  /* Fallback values for tokens the reskin below introduces, so any shared markup that
     still renders outside body.exchange-theme (parity.html's header/sub-navbar) gets a
     coherent dark-theme value instead of an invalid/unset var(). */
  --red-deep: #c91f42;
  --gold-deep: #c98f1f;
  --maroon: #2a0e14;
  --tile-teal-1: #1a2040;    --tile-teal-2: #262b4a;
  --tile-orange-1: #1a2040;  --tile-orange-2: #262b4a;
  --tile-purple-1: #1a2040;  --tile-purple-2: #262b4a;
  --tile-pink-1: #1a2040;    --tile-pink-2: #262b4a;
  --tile-magenta-1: #1a2040; --tile-magenta-2: #262b4a;
}

/* ============================================================
   Player-UI theme.
   Restored to the original "Game Pulse" dark tokens (see
   theme_style_guide.md) on 2026-09-06 — this block previously held
   the 2026-08-25 cream reskin (docs/NEW-DESIGN); reverted at the
   product owner's request, colors/fonts/shadows only, no markup or
   behaviour changed. Kept as an explicit body.exchange-theme block
   (rather than deleted) so admin.html / superadmin.html /
   parity.html, which never carry this class, are unaffected either
   way, and so a future reskin has a single place to land again.
   --green is deliberately NOT redefined here: it carries real
   win/profit-state meaning throughout the game UIs, not just brand
   decoration.
   ============================================================ */
body.exchange-theme {
  --bg:        #0b0e1d;
  --bg-soft:   #10142a;
  --surface:   #141833;
  --surface-2: #1a2040;
  --border:    #262b4a;
  --text:      #edeffa;
  --text-dim:  #8790b8;
  --text-faint:#5b628a;

  --red:    #ff4b6e;
  --red-deep: #c91f42;
  --violet: #a56bff;
  --gold:   #ffc53d;
  --gold-deep: #c98f1f;
  --maroon: #2a0e14;

  --red-soft:    rgba(255,75,110,0.12);
  --violet-soft: rgba(165,107,255,0.12);
  --gold-soft:   rgba(255,197,61,0.12);

  /* Category-tile gradients: flattened to the same coherent dark tone the :root fallbacks
     above use, rather than the reskin's saturated teal/orange/purple/pink pairs. */
  --tile-teal-1: #1a2040;    --tile-teal-2: #262b4a;
  --tile-orange-1: #1a2040;  --tile-orange-2: #262b4a;
  --tile-purple-1: #1a2040;  --tile-purple-2: #262b4a;
  --tile-pink-1: #1a2040;    --tile-pink-2: #262b4a;
  --tile-magenta-1: #1a2040; --tile-magenta-2: #262b4a;

  --font-display: 'Space Grotesk', 'Segoe UI', sans-serif;
  --font-body: 'Inter', 'Segoe UI', sans-serif;

  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --shadow-card: 0 8px 30px rgba(0,0,0,0.35);
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  background:
    radial-gradient(ellipse 900px 500px at 15% -5%, rgba(165,107,255,0.10), transparent 60%),
    radial-gradient(ellipse 900px 500px at 90% 0%, rgba(46,212,122,0.08), transparent 60%),
    var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

/* ---------- Nav ---------- */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 32px;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: rgba(11,14,29,0.85);
  backdrop-filter: blur(10px);
  z-index: 50;
  flex-wrap: wrap;
  gap: 12px;
}
.brand {
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: -0.02em;
}
.brand .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }
.pill {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  background: var(--gold-soft);
  color: var(--gold);
  border: 1px solid rgba(255,197,61,0.35);
  letter-spacing: .04em;
}
.nav-links { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.nav-links a {
  text-decoration: none;
  color: var(--text-dim);
  font-size: 14px;
  font-weight: 500;
  transition: color .15s;
}
.nav-links a:hover, .nav-links a.active { color: var(--text); }
.wallet-chip {
  display: flex; align-items: center; gap: 6px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  padding: 7px 14px;
  border-radius: 20px;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--gold);
  font-size: 13px;
}

/* ---------- Layout ---------- */
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }
.section { padding: 56px 0; }
.section-tight { padding: 32px 0; }

/* ---------- Hero ---------- */
.hero {
  padding: 64px 0 40px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 900px) { .hero { grid-template-columns: 1fr; } }

.hero-eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--violet);
  margin-bottom: 14px;
}
.hero h1 {
  font-family: var(--font-display);
  font-size: 46px;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}
.hero h1 .accent { color: var(--green); }
.hero p.lead {
  color: var(--text-dim);
  font-size: 16px;
  line-height: 1.6;
  max-width: 480px;
  margin-bottom: 28px;
}
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: transform .12s, filter .12s;
}
.btn:active { transform: scale(0.97); }
.btn-primary { background: var(--green); color: #06210f; }
.btn-primary:hover { filter: brightness(1.08); }
.btn-ghost { background: var(--surface-2); color: var(--text); border: 1px solid var(--border); }
.btn-ghost:hover { border-color: var(--text-faint); }
.btn-gold { background: var(--gold); color: #2b1e00; }
.btn-gold:hover { filter: brightness(1.08); }
.btn-block { width: 100%; justify-content: center; }
.btn:disabled { opacity: .4; cursor: not-allowed; }

/* ---------- Signature: Result Pulse Strip ---------- */
.pulse-strip {
  display: flex;
  gap: 4px;
  align-items: flex-end;
  height: 64px;
  padding: 12px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.pulse-bar {
  flex: 1;
  min-width: 6px;
  border-radius: 3px;
  transition: height .4s ease;
}
.pulse-bar.green { background: var(--green); box-shadow: 0 0 8px rgba(46,212,122,0.5); }
.pulse-bar.red { background: var(--red); box-shadow: 0 0 8px rgba(255,75,110,0.5); }
.pulse-bar.violet { background: var(--violet); box-shadow: 0 0 8px rgba(165,107,255,0.5); }

.pulse-legend { display: flex; gap: 18px; margin-top: 10px; font-size: 12px; color: var(--text-dim); }
.pulse-legend span { display: flex; align-items: center; gap: 6px; }
.swatch { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.swatch.green { background: var(--green); }
.swatch.red { background: var(--red); }
.swatch.violet { background: var(--violet); }

/* ---------- KPI stat row ---------- */
.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 36px;
}
@media (max-width: 800px) { .stat-row { grid-template-columns: repeat(2, 1fr); } }
.stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
}
.stat-value {
  font-family: var(--font-mono);
  font-size: 26px;
  font-weight: 700;
  color: var(--text);
}
.stat-label { color: var(--text-dim); font-size: 12.5px; margin-top: 4px; }
.stat-value.up { color: var(--green); }

/* ---------- Cards ---------- */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow-card);
  margin-bottom: 20px;
}
.card h2, .card h3 { font-family: var(--font-display); margin-top: 0; }

.section-heading { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; }
.section-heading h2 { font-family: var(--font-display); font-size: 22px; margin: 0; }
.section-heading .sub { color: var(--text-dim); font-size: 13px; }

/* ---------- Room grid ---------- */
.grid-rooms { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.room-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
  text-decoration: none;
  color: var(--text);
  position: relative;
  overflow: hidden;
  transition: transform .18s, border-color .18s;
}
.room-card:hover { transform: translateY(-4px); border-color: var(--text-faint); }
.room-card .room-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.room-card h3 { font-family: var(--font-display); font-size: 22px; margin: 8px 0 6px; }
.room-card .room-meta { display:flex; justify-content: space-between; align-items:center; margin-top:14px; }
.room-card .live-count { font-size: 12px; color: var(--green); display:flex; align-items:center; gap:6px; }
.live-dot { width:7px; height:7px; border-radius:50%; background: var(--green); animation: blink 1.4s infinite; }
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:.25;} }
.room-card.sapre  { border-top: 3px solid var(--green); }
.room-card.becone { border-top: 3px solid var(--red); }
.room-card.emred  { border-top: 3px solid var(--violet); }
.room-card.vip    { border-top: 3px solid var(--gold); }

/* ---------- Room page: timer ring ---------- */
.timer-wrap { display:flex; align-items:center; gap:26px; flex-wrap: wrap; }
.ring-holder { position: relative; width: 132px; height: 132px; flex-shrink: 0; }
.ring-holder svg { transform: rotate(-90deg); }
.ring-bg { stroke: var(--border); fill: none; }
.ring-fg { stroke: var(--gold); fill: none; stroke-linecap: round; transition: stroke-dashoffset 1s linear; }
.ring-center {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.ring-time { font-family: var(--font-mono); font-size: 24px; font-weight: 700; }
.ring-label { font-size: 10px; color: var(--text-dim); text-transform: uppercase; letter-spacing: .06em; }
.round-meta h3 { margin: 0 0 4px; font-family: var(--font-display); }
.round-meta .round-id { color: var(--text-dim); font-size: 13px; font-family: var(--font-mono); }

/* ---------- Bet options ---------- */
.bet-options { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.color-btn {
  flex: 1 1 110px;
  padding: 16px;
  border-radius: 12px;
  border: 2px solid transparent;
  cursor: pointer;
  font-weight: 700;
  font-family: var(--font-display);
  color: white;
  font-size: 15px;
  transition: transform .1s;
}
.color-btn:active { transform: scale(0.96); }
.color-btn .mult { display:block; font-size: 11px; font-weight: 500; opacity: .85; font-family: var(--font-mono); margin-top:3px;}
.color-btn.green { background: linear-gradient(135deg, #2ed47a, #1a9f5a); }
.color-btn.red { background: linear-gradient(135deg, #ff4b6e, #d42a4e); }
.color-btn.violet { background: linear-gradient(135deg, #a56bff, #7b3ff0); }
.color-btn.selected { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(255,197,61,0.25); }

.number-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 16px 0; }
.num-btn {
  aspect-ratio: 1;
  border-radius: 50%;
  border: 2px solid var(--border);
  background: var(--surface-2);
  color: var(--text);
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 17px;
  cursor: pointer;
  transition: all .12s;
}
.num-btn:hover { border-color: var(--text-faint); }

/* Per-number ball colors matching the reference design: 0 and 5 are half red/violet
   and half green/violet respectively, the rest alternate red/green. */
.num-btn[data-val="0"] { background: linear-gradient(135deg, var(--red) 50%, var(--violet) 50%); color: #fff; }
.num-btn[data-val="1"] { background: var(--green); color: #fff; }
.num-btn[data-val="2"] { background: var(--red); color: #fff; }
.num-btn[data-val="3"] { background: var(--green); color: #fff; }
.num-btn[data-val="4"] { background: var(--red); color: #fff; }
.num-btn[data-val="5"] { background: linear-gradient(135deg, var(--green) 50%, var(--violet) 50%); color: #fff; }
.num-btn[data-val="6"] { background: var(--red); color: #fff; }
.num-btn[data-val="7"] { background: var(--green); color: #fff; }
.num-btn[data-val="8"] { background: var(--red); color: #fff; }
.num-btn[data-val="9"] { background: var(--green); color: #fff; }

.num-btn.selected { border-color: var(--gold); background: var(--gold); color: #2b1e00; }

.size-options { display: flex; gap: 12px; margin: 16px 0; }
.size-btn {
  flex: 1; padding: 15px; border-radius: 12px;
  border: 2px solid var(--border);
  background: var(--surface-2); color: var(--text);
  cursor: pointer; font-weight: 700; font-family: var(--font-display);
}
.size-btn[data-val="Big"] { background: var(--gold); color: #2b1e00; }
.size-btn[data-val="Small"] { background: #3d8bfd; color: #fff; }
.size-btn.selected { border-color: var(--violet); background: var(--violet-soft); color: var(--violet); }

.amount-row { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.chip-amt {
  padding: 8px 16px; border-radius: 20px; border: 1px solid var(--border);
  background: var(--surface-2); color: var(--text-dim); cursor: pointer; font-size: 13px; font-family: var(--font-mono);
}
.chip-amt.selected { border-color: var(--gold); color: var(--gold); background: var(--gold-soft); }

input[type=number], input[type=text], input[type=password] {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--text);
  margin-bottom: 14px;
  font-family: var(--font-mono);
}
label { font-size: 12.5px; color: var(--text-dim); display: block; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .04em; }

/* ---------- Tables ---------- */
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 11px 8px; border-bottom: 1px solid var(--border); font-size: 13px; }
th { color: var(--text-dim); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; }
tr:last-child td { border-bottom: none; }

.badge { padding: 3px 11px; border-radius: 20px; font-size: 11.5px; font-weight: 700; display: inline-block; }
.badge.won { background: var(--green-soft); color: var(--green); }
.badge.lost { background: var(--red-soft); color: var(--red); }
.badge.pending { background: var(--gold-soft); color: var(--gold); }

.result-chip { display:inline-flex; align-items:center; gap:6px; font-family: var(--font-mono); font-weight:700; }
.result-dot { width:9px; height:9px; border-radius:50%; }
.result-dot.green { background: var(--green); } .result-dot.red { background: var(--red); } .result-dot.violet { background: var(--violet); }

/* ---------- Live activity feed ---------- */
.activity-feed { max-height: 340px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; }
.activity-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 12px; background: var(--surface-2); border-radius: 10px;
  font-size: 12.5px; animation: slideIn .3s ease;
}
@keyframes slideIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
.activity-item .user { color: var(--text-dim); }
.activity-item .action { font-weight: 600; }
.activity-item .action.green { color: var(--green); }
.activity-item .action.red { color: var(--red); }
.activity-item .action.violet { color: var(--violet); }

/* ---------- Alerts ---------- */
.alert { padding: 13px 16px; border-radius: 10px; margin-bottom: 16px; font-size: 13.5px; }
.alert-error { background: var(--red-soft); color: var(--red); border: 1px solid rgba(255,75,110,0.3); }
.alert-success { background: var(--green-soft); color: var(--green); border: 1px solid rgba(46,212,122,0.3); }

/* ---------- Bars (admin distribution) ---------- */
.bar-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.bar-label { width: 70px; font-size: 12.5px; color: var(--text-dim); font-family: var(--font-mono); flex-shrink: 0; }
.bar-track { flex: 1; height: 10px; background: var(--surface-2); border-radius: 6px; overflow: hidden; }
.bar-fill { height: 100%; border-radius: 6px; }
.bar-value { width: 90px; text-align: right; font-family: var(--font-mono); font-size: 12.5px; color: var(--text-dim); flex-shrink: 0; }

/* ---------- Misc ---------- */
.grid-2 { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; }
@media (max-width: 900px) { .grid-2 { grid-template-columns: 1fr; } }
.footer { text-align: center; padding: 30px; color: var(--text-faint); font-size: 12px; border-top: 1px solid var(--border); margin-top: 40px; }
.flex-between { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.text-dim { color: var(--text-dim); }
select {
  padding: 10px 14px; border-radius: 10px; border: 1px solid var(--border);
  background: var(--surface-2); color: var(--text); font-family: var(--font-body);
}

.room-card.teenpatti { border-top: 3px solid var(--gold); }

/* ---------- 3D Cards System ---------- */
.card-wrapper {
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.card-wrapper.flipped {
  transform: rotateY(180deg);
}
.card-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: var(--radius-sm);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  font-family: var(--font-mono);
  border: 1px solid rgba(0,0,0,0.1);
}
.card-back {
  background: repeating-linear-gradient(45deg, #1f2544, #1f2544 4px, #12162b 4px, #12162b 8px);
  border: 2px solid var(--gold);
  color: transparent;
}
.card-back::after {
  content: "♣";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 197, 61, 0.3);
  font-size: 20px;
}
.card-front {
  background: #ffffff;
  color: #1a1d2e;
  transform: rotateY(180deg);
}
.card-front.red {
  color: var(--red);
}

/* ---------- Premium Animations & Particles ---------- */
@keyframes glowPulse {
  0% { box-shadow: 0 0 8px var(--gold); }
  50% { box-shadow: 0 0 24px var(--gold), 0 0 12px rgba(255, 197, 61, 0.4); }
  100% { box-shadow: 0 0 8px var(--gold); }
}
.glow-pulse {
  animation: glowPulse 1.5s infinite ease-in-out;
  border-color: var(--gold) !important;
}

@keyframes floatParticle {
  0% {
    transform: translate(0, 0) scale(1) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translate(var(--tx), var(--ty)) scale(0.4) rotate(var(--rot));
    opacity: 0;
  }
}
.coin-particle {
  position: absolute;
  pointer-events: none;
  z-index: 999;
  font-size: 24px;
  animation: floatParticle 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Tactile Active Feedback */
.btn:active, .chip-amt:active, .size-btn:active, .color-btn:active {
  transform: scale(0.95);
  transition: transform 0.1s ease;
}

/* ============================================================
   bet1x — Sign-Up, Login, Splash Screen & Toast Styles
   ============================================================ */

/* Splash Screen */
/* Splash Screen */
/* =================================================================================================
   Splash screen.

   Rebuilt on request in the site's own light palette. The previous version painted a near-black
   backdrop (#0e121b -> #05060a) with a dark glass card, which is the one surface on the site that
   contradicted the light exchange theme every other page uses — it read as a different product for
   the second before the lobby appeared.

   Everything below is expressed in the theme tokens (--bg, --surface, --red, --gold, --text...), so
   it follows the palette rather than restating it, and the overlay is appended to <body>, which
   carries .exchange-theme, so those tokens resolve to the light values. Fallbacks are the light
   values too, for the operator pages that do not carry that class.
   ================================================================================================= */
.splash-skip .bet1x-splash-overlay {
  display: none !important;
}
.bet1x-splash-overlay {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(255, 197, 61, 0.16) 0%, transparent 60%),
    radial-gradient(900px 500px at 50% 110%, rgba(255, 75, 110, 0.10) 0%, transparent 60%),
    radial-gradient(circle at center, #0e121b 0%, #05060a 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  cursor: pointer;
  transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.45s;
}

/* Soft brand blooms. Kept well under 0.2 opacity: on a light ground anything stronger stops
   reading as atmosphere and starts looking like a rendering artefact. */
.splash-aurora {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.5;
  pointer-events: none;
}
.aurora-1 {
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(245, 48, 63, 0.18) 0%, transparent 70%);
  top: -18%;
  left: -12%;
  animation: auroraMove1 14s infinite alternate ease-in-out;
}
.aurora-2 {
  width: 620px;
  height: 620px;
  background: radial-gradient(circle, rgba(255, 201, 60, 0.22) 0%, transparent 70%);
  bottom: -22%;
  right: -12%;
  animation: auroraMove2 17s infinite alternate ease-in-out;
}

@keyframes auroraMove1 {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(110px, 80px) scale(1.25); }
}
@keyframes auroraMove2 {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-120px, -70px) scale(1.18); }
}

/* Rising motes, in brand red/gold rather than the old gold-on-black dust. */
.splash-particles {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
.sp-particle {
  position: absolute;
  bottom: -15px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(245, 48, 63, 0.30);
  animation: particleFloat 6s infinite linear;
}
.sp-particle.p1 { left: 14%; width: 4px; height: 4px; animation-delay: 0.4s; animation-duration: 6.4s; }
.sp-particle.p2 { left: 29%; width: 6px; height: 6px; background: rgba(255, 201, 60, 0.42); animation-delay: 1.4s; animation-duration: 5.6s; }
.sp-particle.p3 { left: 44%; width: 3px; height: 3px; animation-delay: 0.2s; animation-duration: 7s; }
.sp-particle.p4 { left: 58%; width: 5px; height: 5px; background: rgba(255, 201, 60, 0.34); animation-delay: 2.2s; animation-duration: 6s; }
.sp-particle.p5 { left: 72%; width: 4px; height: 4px; animation-delay: 0.9s; animation-duration: 6.8s; }
.sp-particle.p6 { left: 86%; width: 3px; height: 3px; background: rgba(255, 201, 60, 0.38); animation-delay: 1.7s; animation-duration: 5.2s; }
.sp-particle.p7 { left: 9%;  width: 5px; height: 5px; animation-delay: 2.8s; animation-duration: 7.4s; }
.sp-particle.p8 { left: 93%; width: 4px; height: 4px; background: rgba(255, 201, 60, 0.30); animation-delay: 3.2s; animation-duration: 6.2s; }

@keyframes particleFloat {
  0% { transform: translateY(0) scale(0.5); opacity: 0; }
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { transform: translateY(-105vh) scale(1.1); opacity: 0; }
}

/* The card. Dark glassmorphic surface per theme_style_guide.md section 9 — a gold-tinted hairline
   border and a soft black shadow, rather than the reskin's white card on a warm shadow. */
.bet1x-splash-content {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  position: relative;
  z-index: 10;
  background: rgba(15, 18, 26, 0.45);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border: 1px solid rgba(201, 160, 84, 0.15);
  padding: 44px 52px 40px;
  border-radius: 28px;
  box-shadow:
    0 30px 70px rgba(0, 0, 0, 0.7),
    inset 0 1px 1px rgba(255, 255, 255, 0.06);
  animation: splashZoomIn 0.85s cubic-bezier(0.19, 1, 0.22, 1) both;
  width: 360px;
  max-width: calc(100% - 40px);
  box-sizing: border-box;
}

@keyframes splashZoomIn {
  0%   { transform: translateY(14px) scale(0.97); opacity: 0; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

/* Emblem: a conic red-to-gold arc sweeping around a white core. Replaces the dashed grey ring,
   which on a light ground read as an unstyled loading spinner. */
.splash-emblem-container {
  position: relative;
  width: 84px;
  height: 84px;
  margin-bottom: 22px;
}
.splash-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    var(--red, #ff4b6e) 0deg,
    var(--gold, #ffc53d) 130deg,
    rgba(255, 201, 60, 0) 240deg,
    rgba(245, 48, 63, 0) 300deg,
    var(--red, #ff4b6e) 360deg);
  animation: ringRotate 2.8s infinite linear;
  /* Ring, not disc: mask the centre out so the core sits inside it cleanly. */
  -webkit-mask: radial-gradient(circle, transparent 61%, #000 62%);
  mask: radial-gradient(circle, transparent 61%, #000 62%);
}
.splash-logo-center {
  position: absolute;
  top: 13px;
  left: 13px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--border, #262b4a);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}
/* The real bet1x badge, not a typographic stand-in. Set from CSS so the markup stays an empty span
   (ui-common.js is untouched). The same file the header uses, so the two never drift apart. */
.splash-dot-core {
  display: block;
  width: 46px;
  height: 46px;
  background: url('../logo-icon.png') center / contain no-repeat;
  animation: corePulse 2.4s infinite ease-in-out;
}

@keyframes ringRotate {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes corePulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.08); }
}

/* Wordmark, matching the header's treatment: dark maroon "bet" + red "1x". */
.bet1x-splash-logo-text {
  font-family: var(--font-display, 'Space Grotesk', 'Segoe UI', sans-serif);
  font-size: 44px;
  font-weight: 800;
  color: var(--text, #edeffa);
  letter-spacing: -0.02em;
  text-transform: none;
  line-height: 1;
  margin-bottom: 26px;
}
.bet1x-splash-logo-text .accent-text {
  color: var(--red, #ff4b6e);
}

/* Progress bar */
.splash-loader-container {
  width: 100%;
  margin: 0 0 18px;
  display: flex;
  justify-content: center;
}
.splash-loader-bar-modern {
  width: 190px;
  height: 5px;
  background: var(--surface-2, #1a2040);
  border: 1px solid var(--border, #262b4a);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}
.splash-progress-modern {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--red, #ff4b6e), var(--gold, #ffc53d), var(--red, #ff4b6e));
  background-size: 200% auto;
  border-radius: 999px;
  animation: loadProgressModern 2.0s cubic-bezier(0.19, 1, 0.22, 1) forwards,
             progressMove 1.8s infinite linear;
}
.splash-scan-line {
  display: none; /* superseded by the gradient sweep above */
}

@keyframes loadProgressModern {
  0%   { width: 0%; }
  100% { width: 100%; }
}
@keyframes progressMove {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Status line */
.bet1x-splash-tagline {
  font-family: var(--font-body, 'Inter', 'Segoe UI', sans-serif);
  font-size: 10px;
  font-weight: 600;
  color: var(--text-dim, #8790b8);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  min-height: 16px;
}

@media (max-width: 480px) {
  .bet1x-splash-content { padding: 38px 28px 34px; width: 320px; }
  .bet1x-splash-logo-text { font-size: 38px; }
}

/* Users who prefer reduced motion get the same layout, held still. */
@media (prefers-reduced-motion: reduce) {
  .splash-aurora,
  .sp-particle,
  .splash-ring,
  .splash-dot-core,
  .splash-progress-modern,
  .bet1x-splash-content {
    animation: none !important;
  }
  .splash-progress-modern { width: 100%; }
}

/* Auth Modal Overlay */
.auth-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(11, 14, 29, 0.8);
  backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.auth-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Log In / Sign Up covers the page completely, so it reads as its own screen rather than a panel
   floating over a site the visitor can still see and half-read behind it. Scoped to this one
   overlay by id: #bet1x-settings-modal reuses the same class and deliberately keeps the
   see-through treatment, since it IS a panel over the page you were already on. */
#bet1x-auth-modal {
  background: var(--bg);
  backdrop-filter: none;
}
.auth-modal-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  width: 100%;
  max-width: 400px;
  padding: 24px;
  box-shadow: var(--shadow-card);
  position: relative;
  transform: translateY(20px);
  transition: transform 0.3s ease;
  /* The signup form (username+generate, email+OTP, phone, password, confirm) is taller than some
     viewports; centered with no cap it pushed its own top edge above y=0 with nothing to scroll it
     back into view. Capping height and scrolling internally keeps every field reachable. */
  max-height: 90vh;
  overflow-y: auto;
}
.auth-modal-overlay.active .auth-modal-card {
  transform: translateY(0);
}
.auth-modal-close {
  position: absolute;
  top: 18px;
  right: 20px;
  background: none;
  border: none;
  color: var(--text-dim);
  font-size: 24px;
  cursor: pointer;
  transition: color 0.15s;
}
.auth-modal-close:hover {
  color: var(--text);
}

/* Tabs */
.auth-tabs {
  display: flex;
  border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
}
.auth-tab {
  flex: 1;
  background: none;
  border: none;
  color: var(--text-dim);
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  padding: 9px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  border-bottom: 2px solid transparent;
  text-align: center;
}
.auth-tab.active {
  color: var(--text);
  border-bottom-color: var(--green);
}

/* Forms */
.auth-form {
  display: none;
}
.auth-form.active {
  display: block;
}
.auth-form-group {
  margin-bottom: 13px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.auth-form-group label {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left;
}
.auth-form-group input {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text);
  padding: 9px 12px;
  font-family: var(--font-body);
  font-size: 14px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.auth-form-group input:focus {
  outline: none;
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(46, 212, 122, 0.15);
}
.auth-error-msg {
  color: var(--red);
  font-size: 12px;
  margin-top: 4px;
  display: none;
  text-align: left;
}

/* Navbar integration styles */
.nav-auth-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-user-container {
  display: flex;
  align-items: center;
  gap: 12px;
}
.user-dropdown-wrapper {
  position: relative;
}
.nav-user-btn {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 7px 14px;
  border-radius: 20px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: border-color 0.15s, background-color 0.15s;
}
.nav-user-btn:hover {
  border-color: var(--text-faint);
  background: var(--surface);
}
.user-avatar-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 8px var(--green);
}
.dropdown-chevron {
  font-size: 9px;
  color: var(--text-dim);
  transition: transform 0.2s;
}
.dropdown-chevron.open {
  transform: rotate(180deg);
}

.nav-user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 8px 0;
  min-width: 180px;
  box-shadow: var(--shadow-card);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.nav-user-dropdown.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown-header {
  padding: 10px 16px;
  text-align: left;
}
.dropdown-username {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--text);
}
.dropdown-email {
  font-size: 11px;
  color: var(--text-dim);
  margin-top: 2px;
}
.dropdown-divider {
  height: 1px;
  background: var(--border);
  margin: 6px 0;
}
.dropdown-item {
  display: block;
  padding: 8px 16px;
  font-size: 13px;
  text-decoration: none;
  color: var(--text-dim);
  transition: background 0.15s, color 0.15s;
  cursor: pointer;
  text-align: left;
}
.dropdown-item:hover {
  background: var(--surface-2);
  color: var(--text);
}
.dropdown-item.logout {
  color: var(--red);
}
.dropdown-item.logout:hover {
  background: var(--red-soft);
  color: var(--red);
}

/* Header Guest Controls */
.header-guest-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-login-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
}
.header-login-btn:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: #ffffff !important;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}
.header-signup-btn {
  background: #c8102e !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  padding: 6px 16px !important;
  border-radius: 4px !important;
  cursor: pointer;
  box-shadow: 0 0 14px rgba(200, 16, 46, 0.6) !important;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
}
.header-signup-btn:hover {
  background: #e01234 !important;
  transform: translateY(-1px);
  box-shadow: 0 0 20px rgba(224, 18, 52, 0.8) !important;
}

/* Toast Notification Container */
.toast-container {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 999999;
}
.toast {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 4px solid var(--green);
  border-radius: var(--radius-sm);
  color: var(--text);
  padding: 12px 18px;
  min-width: 280px;
  font-size: 13px;
  box-shadow: var(--shadow-card);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  animation: toastSlideIn 0.3s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
  transition: opacity 0.3s, transform 0.3s;
}
.toast.error {
  border-left-color: var(--red);
}
.toast.info {
  border-left-color: var(--violet);
}
.toast-close {
  background: none;
  border: none;
  color: var(--text-dim);
  cursor: pointer;
  font-size: 14px;
  padding: 0 4px;
  line-height: 1;
}
.toast-close:hover {
  color: var(--text);
}

@keyframes toastSlideIn {
  from { transform: translateX(50px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

/* Win Celebration Particles */
.coin-particle {
  position: absolute;
  pointer-events: none;
  font-size: 24px;
  z-index: 1000;
  user-select: none;
  animation: coinShowerAnimation 1.4s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
}

@keyframes coinShowerAnimation {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(0.5);
    opacity: 0;
  }
  15% {
    opacity: 1;
    transform: translate(calc(var(--tx) * 0.2), calc(var(--ty) * 0.5)) rotate(45deg) scale(1.2);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(var(--tx), var(--ty)) rotate(var(--rot)) scale(0.7);
    opacity: 0;
  }
}

/* ============================================================
   Aviator Crash Game Styles
   ============================================================ */

.aviator-wrapper {
  /* Vimaan-only theme, scoped here (rather than the shared --bg/--surface
     tokens) so no other page's theme is affected. Outer panels (mult-history
     bar, bet-console card, provably-fair bar) use the darkest tone; inner
     boxes (bet amount stepper, quick-bet buttons) use the lighter tone. */
  --bg-soft:   #040C21;
  --surface:   #040C21;
  --surface-2: #1A2A4D;
  --border:    #263a66;

  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  min-width: 0;
}

.aviator-mult-history {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 8px 12px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  scrollbar-width: none; /* Hide scrollbar for clean look */
}
.aviator-mult-history::-webkit-scrollbar {
  display: none;
}

.aviator-round-label {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--text-dim);
  padding: 0 4px;
}

.mult-badge {
  flex: 0 0 auto;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: transform 0.2s;
}
.mult-badge:hover {
  transform: scale(1.05);
}
.mult-badge.low {
  background: rgba(46, 212, 122, 0.12);
  color: var(--green);
  border-color: rgba(46, 212, 122, 0.25);
}
.mult-badge.med {
  background: rgba(165, 107, 255, 0.12);
  color: var(--violet);
  border-color: rgba(165, 107, 255, 0.25);
}
.mult-badge.high {
  background: rgba(255, 197, 61, 0.12);
  color: var(--gold-deep);
  border-color: rgba(255, 197, 61, 0.25);
}

.aviator-stage {
  position: relative;
  width: 100%;
  height: 380px;
  background: radial-gradient(circle at 10% 90%, #1e2f57 0%, #0a0d18 80%);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.6), var(--shadow-card);
}

@media (max-width: 900px) {
  .aviator-stage {
    height: clamp(210px, 32vh, 260px);
  }
}

.aviator-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.aviator-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 10;
  text-align: center;
}

.aviator-overlay .main-display {
  font-family: var(--font-display);
  font-size: clamp(36px, 8vw, 64px);
  font-weight: 700;
  /* Fixed light color, not var(--text) — .aviator-stage's backdrop is a hardcoded dark
     "night sky" gradient regardless of page theme, so its text can't follow the light-
     theme flip of --text without going dark-on-dark. */
  color: #fff;
  text-shadow: 0 0 25px rgba(255, 255, 255, 0.15);
}

.aviator-overlay.waiting .main-display {
  color: var(--gold);
  font-size: clamp(22px, 5.5vw, 32px);
  animation: pulse-waiting 1.5s infinite ease-in-out;
}

.aviator-overlay .sub-display {
  /* Same fixed-dark-stage reasoning as .main-display above: this text sits on
     .aviator-stage's hardcoded night-sky gradient in every state, so it needs a
     color that doesn't follow --text's light-theme flip to dark maroon. */
  color: rgba(255, 255, 255, 0.75);
  font-size: clamp(12px, 3.2vw, 15px);
}

.aviator-overlay.crashed .main-display {
  color: var(--red);
  text-shadow: 0 0 20px rgba(255, 75, 110, 0.4);
}

.aviator-overlay.crashed .sub-display {
  font-size: clamp(13px, 3.5vw, 18px);
  color: var(--text-dim);
  margin-top: 8px;
  font-family: var(--font-mono);
}

.aviator-overlay.running .main-display {
  color: #fff;
  font-size: clamp(40px, 11vw, 72px);
  animation: bounce-scale 0.5s ease-out;
}

@keyframes pulse-waiting {
  0%, 100% { opacity: 0.8; transform: scale(0.98); }
  50% { opacity: 1; transform: scale(1.02); }
}

@keyframes bounce-scale {
  0% { transform: scale(0.9); }
  70% { transform: scale(1.03); }
  100% { transform: scale(1); }
}

.aviator-grid-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
}
@media (max-width: 900px) {
  .aviator-grid-controls {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.bet-console {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  overflow: hidden;
}

@media (max-width: 900px) {
  .bet-console {
    padding: 12px 14px;
    gap: 8px;
  }
}

.console-tabs {
  display: flex;
  gap: 10px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 8px;
}
.console-tab {
  background: none;
  border: none;
  color: var(--text-dim);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 8px;
  transition: color 0.15s;
}
.console-tab.active {
  color: var(--gold-deep);
  border-bottom: 2px solid var(--gold);
}

.console-body {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.big-bet-btn.bet {
  background: linear-gradient(160deg, var(--red), var(--red-deep));
  color: #fff;
}
.big-bet-btn.bet .label {
  font-size: 16px;
}

@media (max-width: 480px) {
  .console-body {
    flex-direction: row;
    gap: 8px;
  }
  .console-right {
    width: 115px !important;
    flex-shrink: 0;
  }
  .big-bet-btn {
    min-height: 64px !important;
  }
  .big-bet-btn .label {
    font-size: 14px !important;
  }
  .big-bet-btn .sub-label {
    font-size: 11px !important;
  }
  .input-stepper {
    height: 32px;
  }
  .input-stepper button {
    width: 30px;
    height: 32px;
    font-size: 16px;
  }
  .input-stepper input[type=number] {
    height: 32px;
    font-size: 13px;
  }
  .quick-bet-grid {
    gap: 4px;
  }
  .quick-bet-btn {
    padding: 3px 0;
    font-size: 10px;
  }
}

.console-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.input-stepper {
  display: flex;
  align-items: center;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}
.input-stepper button {
  background: none;
  border: none;
  color: var(--text-dim);
  font-size: 18px;
  width: 36px;
  height: 38px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.input-stepper button:hover {
  color: var(--text);
  background: rgba(255,255,255,0.05);
}
.input-stepper input[type=number] {
  flex: 1;
  background: none;
  border: none;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  padding: 0;
  height: 38px;
}

.quick-bet-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.quick-bet-btn {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-dim);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  padding: 6px 0;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s;
}
.quick-bet-btn:hover {
  border-color: var(--text-faint);
  color: var(--text);
}

.aviator-layout-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 20px;
}

@media (max-width: 900px) {
  .aviator-layout-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .aviator-wrapper {
    order: 1;
    gap: 10px;
  }
  .live-bets-card {
    order: 2;
    max-height: 280px;
  }
}

.panel-title {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-dim);
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.live-bets-card {
  height: 100%;
  max-height: 520px;
  display: flex;
  flex-direction: column;
}
.live-bets-list {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  scrollbar-width: thin;
}
.live-bets-list::-webkit-scrollbar {
  width: 4px;
}
.live-bets-list::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 2px;
}

.live-bet-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 12px;
}
.live-bet-item.won {
  border-left: 3px solid var(--green);
}
.live-bet-item.crashed {
  border-left: 3px solid var(--red);
}
.live-bet-item .user {
  font-weight: 500;
  color: var(--text);
  display: flex;
  flex-direction: column;
}
.live-bet-item .user-meta {
  font-size: 10px;
  color: var(--text-dim);
  font-family: var(--font-mono);
}
.live-bet-item .amount-payout {
  text-align: right;
  font-family: var(--font-mono);
  font-weight: 700;
}
.live-bet-item .payout-mult {
  font-size: 10.5px;
  color: var(--gold);
  background: rgba(255, 197, 61, 0.1);
  padding: 1px 4px;
  border-radius: 4px;
  margin-left: 4px;
}

.provably-fair-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: var(--text-dim);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  padding: 8px 14px;
  border-radius: 8px;
  font-family: var(--font-mono);
  word-break: break-all;
  gap: 16px;
}
.provably-fair-bar .title {
  color: var(--text-dim);
  font-weight: 700;
  white-space: nowrap;
}
.provably-fair-bar .seed-hash {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 600px;
}

/* ============================================================
   Exchange UI Theme Overrides
   ============================================================ */

body.exchange-theme {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--font-body) !important;
}

body.exchange-theme header, 
body.exchange-theme footer {
  background: var(--surface);
}

/* Top Navbar overriding standard nav styling */
.navbar.exchange-header {
  background: var(--surface) !important;
  padding: 16px 32px !important;
  border-bottom: 2px solid var(--border) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
/* 2026-08-25 reskin: scoped so parity.html (same markup, no body class) is untouched */
body.exchange-theme .navbar.exchange-header {
  padding: 14px 32px !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.25);
}

/* Athletic italic red-white logo */
.exchange-logo-box {
  background: #c8102e;
  color: #ffffff;
  font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
  font-weight: 900;
  font-style: italic;
  padding: 6px 16px;
  font-size: 24px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: -0.5px;
  line-height: 1;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  user-select: none;
}
.exchange-logo-box span {
  color: #ffffff;
  font-weight: 500;
}
/* 2026-08-25 reskin: badge mark + wordmark, matching the reference's logo treatment.
   Scoped so parity.html (same markup, no body class) keeps the original solid-pill logo above. */
body.exchange-theme .exchange-logo-box {
  background: none;
  color: var(--red);
  font-family: var(--font-display);
  font-weight: 800;
  font-style: normal;
  padding: 0;
  font-size: 22px;
  border-radius: 0;
  text-transform: none;
  letter-spacing: -0.02em;
  line-height: 1;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.exchange-theme .exchange-logo-box::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url('data:image/png;base64,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') center/contain no-repeat;
  flex-shrink: 0;
}
body.exchange-theme .exchange-logo-box span {
  color: var(--text-dim);
  font-weight: 600;
  font-size: 15px;
}

/* Sub Navigation Bar - sleek cyber bar fitting all options evenly */
.sub-navbar {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 4px;
  display: flex;
  align-items: stretch;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.sub-navbar::-webkit-scrollbar {
  display: none;
}
.sub-navbar-links {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.sub-navbar-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: stretch;
}
.sub-navbar-link {
  color: #8b949e;
  text-decoration: none;
  font-size: 11.5px;
  font-weight: 700;
  padding: 9px 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.15s;
  border-right: 1px solid var(--border);
  white-space: nowrap;
  flex: 1;
  width: 100%;
  box-sizing: border-box;
}
.sub-navbar-item:last-child .sub-navbar-link {
  border-right: none;
}
.sub-navbar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}
.sub-navbar-link.active {
  color: #ffffff;
  background: #232c3d;
  box-shadow: inset 0 -2px 0 var(--gold, #c9a054);
}
.sub-navbar-link.vimaan-tab {
  background: #910e0e;
  color: #ffffff;
}
.sub-navbar-link.vimaan-tab:hover {
  background: #b51212;
}

@media (max-width: 1100px) {
  .sub-navbar-link {
    font-size: 10.5px;
    padding: 8px 1px;
  }
}

/* 2026-08-25 reskin: coral pill row (docs/NEW-DESIGN section 4.7).
   Scoped so parity.html (same markup, no body class) keeps the tab-strip above. */
body.exchange-theme .sub-navbar {
  background: none;
  border: none;
  border-radius: 0;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  overflow-y: visible;
}
body.exchange-theme .sub-navbar-links {
  gap: 8px;
}
body.exchange-theme .sub-navbar-item {
  min-width: 76px;
  /* Grow to fit the label (e.g. "Chicken Road") instead of an equal share that long names overflow. */
  flex: 1 0 auto;
}
body.exchange-theme .sub-navbar-link {
  color: #fff;
  font-family: var(--font-display);
  font-size: 12px;
  padding: 11px 12px;
  border-right: none;
  background: linear-gradient(160deg, #1e40af, #142a68);
  border: 1px solid var(--gold);
  border-radius: var(--radius-pill);
  box-shadow: 0 4px 10px rgba(30,64,175,0.35);
}
body.exchange-theme .sub-navbar-link:hover {
  color: #fff;
  filter: brightness(1.06);
  background: linear-gradient(160deg, #1e40af, #142a68);
}
body.exchange-theme .sub-navbar-link.active {
  color: #6ea8ff;
  background: var(--surface-2);
  box-shadow: inset 0 0 0 2px #6ea8ff;
}
body.exchange-theme .sub-navbar-link.vimaan-tab {
  background: linear-gradient(160deg, var(--gold), var(--gold-deep));
  color: var(--maroon);
}
body.exchange-theme .sub-navbar-link.vimaan-tab:hover {
  filter: brightness(1.06);
  background: linear-gradient(160deg, var(--gold), var(--gold-deep));
}
@media (max-width: 1100px) {
  body.exchange-theme .sub-navbar-link {
    font-size: 10.5px;
    padding: 8px 6px;
  }
}

/* Header Login boxes */
.header-login-form {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-login-input {
  background: var(--border) !important;
  color: #ffffff !important;
  border: 1px solid #30363d !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  font-size: 13px !important;
  width: 140px !important;
  height: 32px !important;
  margin: 0 !important;
}
.header-login-input::placeholder {
  color: #8b949e !important;
}
.header-login-btn {
  background: #c8102e !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 0 14px !important;
  height: 32px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: background 0.2s;
  display: flex;
  align-items: center;
  gap: 4px;
}
.header-login-btn:hover {
  background: #e61c38 !important;
}

/* 2-Column Layout: Main Promo & Matches Grid + Games Directory Sidebar */
.exchange-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 16px;
  padding: 12px;
  max-width: 1400px;
  margin: 0 auto;
  min-height: calc(100vh - 100px);
}
.exchange-main-content {
  min-width: 0;
}
@media (max-width: 992px) {
  .exchange-layout {
    grid-template-columns: 1fr;
  }
}

/* Left Sidebar Menu (Now on Right side) */
.exchange-menu-header {
  background: linear-gradient(160deg, var(--red), var(--red-deep));
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  border-bottom: none;
}
.exchange-menu-list {
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: none;
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
.exchange-menu-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  color: var(--text);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  border-bottom: 1px solid var(--border);
  transition: all 0.15s;
}
.exchange-menu-item a:hover {
  background: var(--surface-2);
  color: var(--red);
}
.exchange-menu-item:last-child a {
  border-bottom: none;
}
.exchange-menu-chevron {
  color: var(--red);
  font-weight: 700;
  font-size: 14px;
}

/* Main Area promotional banner — reskinned to match docs/NEW-DESIGN section 4.3 */
.exchange-promo-banner {
  width: 100%;
  min-height: 200px;
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 22px 24px 34px;
  box-shadow: var(--shadow-card);
}

.exchange-promo-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 90% at 85% 15%, rgba(255,201,60,0.22), transparent 55%),
    linear-gradient(160deg, var(--maroon) 0%, #4a0e1a 60%, #380a14 100%);
  animation: bannerKenBurns 24s infinite alternate ease-in-out;
  z-index: 1;
}

.exchange-promo-banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.12), transparent);
  transform: skewX(-25deg);
  z-index: 2;
  animation: bannerShimmer 6s infinite ease-in-out;
}

.banner-center-text {
  position: relative;
  z-index: 3;
  text-align: left;
  animation: bannerTextFade 1.4s cubic-bezier(0.19, 1, 0.22, 1) both;
}

.banner-title {
  font-family: var(--font-display);
  font-size: 42px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 4px;
  text-shadow: 0 0 24px rgba(0, 230, 118, 0.5);
}

.banner-subtitle {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  color: #00e676;
  margin: 6px 0 0 0;
  text-transform: uppercase;
  letter-spacing: 8px;
  text-shadow: 0 0 12px rgba(0, 230, 118, 0.35);
}

/* New hero-banner content pieces (badge, headline, CTA, dots) */
.promo-banner-badge {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(160deg, var(--gold), var(--gold-deep));
  color: var(--maroon);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 5px 14px 5px 10px;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  margin: 0 0 10px -24px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.25);
}
.promo-banner-logo {
  position: absolute;
  z-index: 3;
  top: 16px;
  right: 18px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 12px;
  color: var(--red);
  box-shadow: 0 3px 10px rgba(0,0,0,0.3);
}
.promo-banner-headline {
  position: relative;
  z-index: 3;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(26px, 6vw, 40px);
  line-height: 1.05;
  margin: 0 0 8px;
  max-width: 78%;
  color: var(--gold);
  -webkit-text-stroke: 1.5px var(--maroon);
  text-shadow: 0 2px 0 var(--maroon), 0 4px 10px rgba(0,0,0,0.45);
  text-transform: uppercase;
}
.promo-banner-subtext {
  position: relative;
  z-index: 3;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  margin: 0 0 4px;
  max-width: 80%;
}
.promo-banner-fine {
  position: relative;
  z-index: 3;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11.5px;
  color: rgba(255,255,255,0.75);
  margin: 0 0 14px;
}
.promo-banner-cta {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(160deg, var(--gold), var(--gold-deep));
  color: var(--maroon);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 13px;
  text-decoration: none;
  padding: 9px 22px;
  border-radius: var(--radius-pill);
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.promo-banner-dots {
  position: absolute;
  z-index: 3;
  left: 24px;
  bottom: 14px;
  display: flex;
  gap: 5px;
}
.promo-banner-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
}
.promo-banner-dots span.active {
  background: var(--gold);
  width: 16px;
  border-radius: var(--radius-pill);
}

@keyframes bannerKenBurns {
  0% {
    transform: scale(1) translate(0, 0);
  }
  100% {
    transform: scale(1.12) translate(-1%, -0.5%);
  }
}

@keyframes bannerShimmer {
  0% {
    left: -150%;
  }
  25%, 100% {
    left: 150%;
  }
}

@keyframes bannerTextFade {
  0% {
    opacity: 0;
    transform: translateY(15px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ═══════════════════════════════════════════════════════════════
/* ═══════════════════════════════════════════════════════════════
   Banner Slideshow — Compact, high-efficiency horizontal track carousel
   ═══════════════════════════════════════════════════════════════ */
.banner-slideshow {
  position: relative;
  width: 100%;
  height: 145px;
  max-height: 155px;
  min-height: 110px;
  border-radius: var(--radius, 8px);
  overflow: hidden;
  margin-bottom: 10px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.5);
  background: #090c17;
  border: 1px solid rgba(255, 255, 255, 0.08);
  user-select: none;
}

.banner-track {
  display: flex;
  width: 100%;
  height: 100%;
  will-change: transform;
}

.banner-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Prev / Next arrows */
.banner-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(0,0,0,0.65);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  font-size: 20px;
  line-height: 1;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
  backdrop-filter: blur(4px);
}
.banner-slideshow:hover .banner-arrow {
  opacity: 0.9;
}
.banner-arrow:hover {
  background: rgba(0,0,0,0.9);
  transform: translateY(-50%) scale(1.1);
  opacity: 1;
}
.banner-arrow--prev { left: 8px; }
.banner-arrow--next { right: 8px; }

/* Navigation dots */
.banner-dots {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 5px;
  padding: 3px 8px;
  background: rgba(0,0,0,0.45);
  border-radius: var(--radius-pill, 999px);
  backdrop-filter: blur(4px);
}
.banner-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
  transition: all 0.25s ease;
}
.banner-dot.active {
  background: var(--gold, #ffc53d);
  width: 18px;
  border-radius: 999px;
  box-shadow: 0 0 6px rgba(255,201,60,0.7);
}

/* Mobile responsive */
@media (max-width: 768px) {
  .banner-slideshow {
    height: 115px;
    margin-bottom: 8px;
  }
  .banner-arrow {
    width: 26px;
    height: 26px;
    font-size: 16px;
    opacity: 0.8;
  }
}
/* Section header — matches the reference's icon-badge + title + "All >" pattern */
.exchange-section-header {
  background: none;
  color: var(--text);
  font-weight: 800;
  font-family: var(--font-display);
  font-size: 18px;
  padding: 8px 0;
  border-radius: 0;
  text-transform: none;
  border-bottom: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.exchange-section-header::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(160deg, var(--red), var(--red-deep));
}
.exchange-tabs-bar {
  display: flex;
  background: none;
  padding: 0 0 12px;
  border: none;
  gap: 8px;
}
.exchange-tab-btn {
  background: var(--surface-2);
  border: none;
  color: var(--text-dim);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  padding: 9px 18px;
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: all 0.15s;
}
.exchange-tab-btn.active {
  background: linear-gradient(160deg, var(--red), var(--red-deep));
  color: #fff;
  border-radius: var(--radius-pill);
}

.exchange-table {
  width: 100%;
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: none;
  border-collapse: collapse;
  margin-bottom: 16px;
}
.exchange-table th {
  background: var(--surface-2);
  color: #8b949e;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  padding: 6px;
  border: 1px solid var(--border);
}
.exchange-table td {
  padding: 8px;
  border: 1px solid var(--border);
  vertical-align: middle;
  text-align: center;
  background: var(--surface);
  color: #c9d1d9;
}
.exchange-row {
  transition: background 0.15s;
}
.exchange-row:hover {
  background: var(--surface-2);
}
.event-info {
  text-align: left;
}
.event-title {
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
}
.event-title:hover {
  text-decoration: underline;
  color: #00e676;
}
.event-meta {
  font-size: 11px;
  color: #8b949e;
  margin-top: 4px;
}
.event-tag {
  display: inline-block;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  color: #ffffff;
  background: #ff5d5d;
  margin-right: 6px;
}
.event-tag.live {
  background: #2ed47a;
}

/* Odds Back & Lay box styling */
.odds-container {
  display: flex;
  justify-content: center;
  gap: 2px;
}
.odds-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 38px;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity 0.15s;
  line-height: 1.1;
  text-decoration: none;
}
.odds-box:hover {
  opacity: 0.85;
}
.odds-box.back {
  background: rgba(56, 189, 248, 0.08) !important;
  color: #38bdf8 !important;
  border: 1px solid rgba(56, 189, 248, 0.25) !important;
}
.odds-box.lay {
  background: rgba(244, 63, 94, 0.08) !important;
  color: #fb7185 !important;
  border: 1px solid rgba(244, 63, 94, 0.25) !important;
}
.odds-val {
  font-size: 12px;
  font-weight: 700;
}
.odds-size {
  font-size: 9px;
  opacity: 0.8;
}

/* Right Sidebar (Betslip Panel, Now on Left side) */
.exchange-right-sidebar {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 0;
  height: fit-content;
  align-self: start;
}
.exchange-bets-header {
  background: linear-gradient(to right, var(--surface-2), var(--border));
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 4px 4px 0 0;
  border-bottom: 2px solid #00e676;
}
.exchange-bets-list {
  padding: 12px;
  font-size: 12px;
  color: #8b949e;
  text-align: center;
}
.betslip-empty {
  padding: 24px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.betslip-item {
  display: flex;
  justify-content: space-between;
  padding: 8px;
  border-bottom: 1px solid var(--border);
  text-align: left;
}
.betslip-item .title {
  font-weight: 700;
  color: #ffffff;
}
.betslip-item .odds {
  font-family: var(--font-mono);
  font-weight: 700;
  color: #00e676;
}

/* Universe Banner graphic styling */
.banner-center-text {
  text-align: center;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
  font-family: var(--font-display);
}
.banner-title {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: 2px;
  margin: 0;
  text-transform: uppercase;
}
.banner-subtitle {
  font-size: 14px;
  letter-spacing: 4px;
  margin: 0;
  text-transform: uppercase;
  color: #00e676;
}
.banner-graphics {
  font-size: 54px;
  margin-top: 8px;
  animation: float-dice 3s ease-in-out infinite alternate;
}
@keyframes float-dice {
  0% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-8px) rotate(15deg); }
}

body.exchange-theme .footer {
  background: var(--surface) !important;
  color: var(--text-dim) !important;
  border-top: 1px solid var(--border) !important;
  margin-top: 0 !important;
  /* The fixed-bottom "recent wins" ticker (assets/js/ui-common.js) sits on top of whatever is at
     the very bottom of the page; without this the footer's own text — the last thing in the
     document — ended up partly hidden underneath it. */
  padding-bottom: 46px !important;
}

/* ============================================================
   Bet1x Responsive Layout Enhancements
   ============================================================ */

/* Table Scroll Wrapper */
.exchange-table-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 16px;
  border-radius: 4px;
  border: 1px solid var(--border);
}
.exchange-table-container .exchange-table {
  margin-bottom: 0;
  border: none;
}

/* Medium screen adjustments (tablets/laptops) */
@media (max-width: 992px) {
  .exchange-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 8px !important;
  }
  
  .exchange-main-content {
    order: 1 !important;
    width: 100% !important;
  }
  .exchange-left-sidebar {
    order: 2 !important;
    width: 100% !important;
    display: block !important;
  }
}

/* Small screen adjustments (mobiles) */
@media (max-width: 768px) {
  body.exchange-theme {
    font-size: 11.5px !important;
  }

  .navbar.exchange-header {
    flex-direction: row !important;
    gap: 8px !important;
    padding: 12px 8px !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  /* Logged-in header (hamburger + logo on the left, avatar/welcome/wallet/deposit/logout on the
     right) was overflowing/cramping on phones — shrink each piece and drop the "Welcome," word
     (username itself stays visible) so the row fits without any part getting clipped. */
  .exchange-logo-box {
    font-size: 19px !important;
    padding: 6px 12px !important;
  }

  .header-user-info {
    gap: 7px !important;
    font-size: 12px !important;
    row-gap: 6px !important;
  }

  .header-profile-avatar {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
  }

  .header-welcome-text {
    display: none !important;
  }

  .header-username {
    font-size: 12.5px !important;
  }

  #headerAuthArea .wallet-chip {
    padding: 5px 9px !important;
    font-size: 11.5px !important;
  }

  .header-deposit-btn {
    padding: 5px 9px !important;
    font-size: 11.5px !important;
  }

  .header-logout-link {
    font-size: 11.5px !important;
    padding-left: 6px !important;
  }

  .header-login-form {
    gap: 4px !important;
  }
  
  .header-login-input {
    width: 90px !important;
    height: 26px !important;
    font-size: 11px !important;
    padding: 4px 6px !important;
  }
  
  .header-login-btn {
    height: 26px !important;
    font-size: 11px !important;
    padding: 0 8px !important;
  }
  
  .mobile-login-btn {
    height: 26px !important;
    font-size: 11px !important;
    padding: 0 8px !important;
  }

  .exchange-promo-banner {
    height: 120px !important; /* Increased height to make the face fully visible on mobile viewports */
    border-radius: 4px !important;
  }
  
  .banner-title {
    font-size: 18px !important;
    letter-spacing: 1px !important;
  }
  
  .banner-subtitle {
    font-size: 8px !important;
    letter-spacing: 2px !important;
  }
  
  /* Squeeze highlights table padding and font size for massive high density */
  .exchange-table th, .exchange-table td {
    padding: 4px 6px !important;
    font-size: 11px !important;
  }
  
  .exchange-row {
    height: auto !important;
  }

  .odds-container {
    gap: 2px !important;
  }

  /* Scale odds boxes smaller for layout compactness */
  .odds-box {
    width: 38px !important;
    height: 26px !important;
    padding: 1px !important;
  }
  
  .odds-val {
    font-size: 10px !important;
  }
  
  .odds-size {
    font-size: 7px !important;
  }
  
  .event-title {
    font-size: 11px !important;
  }
  
  .event-meta {
    font-size: 9px !important;
  }

  .sub-navbar {
    overflow-x: auto !important;
    scrollbar-width: none !important;
    padding: 0 !important;
  }
  .sub-navbar::-webkit-scrollbar {
    display: none !important;
  }
  .sub-navbar-links {
    width: max-content !important;
    min-width: 100% !important;
  }
  .sub-navbar-item {
    flex: 0 0 auto !important;
  }
  .sub-navbar-link {
    font-size: 11px !important;
    padding: 7px 10px !important;
  }
  
  .exchange-section-header {
    font-size: 11px !important;
    padding: 4px 8px !important;
    margin-top: 8px !important;
  }
  
  .exchange-tabs-bar {
    padding: 2px !important;
    gap: 2px !important;
  }
  
  .exchange-tab-btn {
    font-size: 10px !important;
    padding: 3px 6px !important;
  }
  
  .card {
    padding: 8px !important;
    margin-top: 8px !important;
  }
  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ============================================================
   Futuristic Sliding Sidebar Drawers & Fixed Bottom Nav Bar
   ============================================================ */

/* Guest Auth Button & Form Toggles */
.mobile-login-btn {
  display: none !important;
}
.header-guest-wrap {
  display: flex;
  align-items: center;
}

/* Sidebar Drawer overlay background styling */
.mobile-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  z-index: 1002;
  display: none;
  transition: opacity 0.3s ease;
}
.mobile-drawer-overlay.active {
  display: block;
}

/* Sliding Menu Drawer */
.mobile-games-drawer {
  position: fixed;
  top: 0;
  left: -300px;
  width: 280px;
  height: 100vh;
  background: var(--surface);
  border-right: 1px solid var(--border);
  box-shadow: 4px 0 16px rgba(0,0,0,0.6);
  z-index: 1003;
  transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  display: flex;
  flex-direction: column;
}
.mobile-games-drawer.active {
  left: 0;
}

/* The fixed mobile bottom navigation bar was removed on request. Its markup is gone from
   index.html (the only page that carried it) and the <=768px body bottom padding that
   reserved space for it is removed further down, so the page no longer leaves a 66px gap
   at the foot on phones. */

/* Dismissible top promo strip — docs/NEW-DESIGN section 4.1 */
.promo-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(120deg, #ff8a8a, var(--red) 60%);
  color: #fff;
  padding: 4px 12px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11.5px;
}
.promo-strip-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
  opacity: 0.85;
}
.promo-strip-close:hover { opacity: 1; }
.promo-strip-text { flex: 1; }
.promo-strip-cta {
  background: #fff;
  color: var(--red);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 11px;
  text-decoration: none;
  padding: 3px 12px;
  border-radius: var(--radius-pill);
  white-space: nowrap;
}

/* Floating action stack — visual pattern from the reference, pointed at real destinations
   (bet1x has no Telegram/Facebook/WhatsApp presence to link to, so those specific brand icons
   from the reference are deliberately not reproduced — see chat reply). */
.fab-stack {
  position: fixed;
  right: 14px;
  bottom: 120px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fab-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  border: 2px solid #fff;
}
.fab-btn--support { background: linear-gradient(160deg, #ffd8a8, #ff9a5a); }
.fab-btn--bonus { background: linear-gradient(160deg, var(--red), var(--red-deep)); }

/* Keep the Live Chat send button clear of the floating action stack.

   .fab-stack above is position:fixed at right:14px and 46px wide, so it covers the rightmost ~60px
   of the VIEWPORT at every width and every scroll position. The chat card sits at the right edge of
   the page on desktop and full-width on a phone, so in both cases its Send button lands underneath
   those buttons and cannot be clicked.
   
   This was originally fixed only inside the <=768px media query, which left the identical problem
   on laptops — the FAB is not a mobile-only element. Applying it unscoped fixes both, and costs the
   input 66px it can afford in either layout. !important because index.html sets padding inline. */
.live-chat-input-wrap {
  padding-right: 66px !important;
}

@media (min-width: 769px) {
  .fab-stack { bottom: 74px; }
}

/* Media Query adaptations */
@media (max-width: 768px) {
  .mobile-hamburger-btn {
    display: flex !important;
  }

  .mobile-login-btn {
    display: flex !important;
  }
  
  .desktop-only {
    display: none !important;
  }

  /* The sidebar's MENU is redundant on mobile — the hamburger drawer already lists the same
     destinations — but the Platform Live Chat lives in the same <aside>, so hiding the whole
     element took the chat off the phone layout entirely. Hide the two menu children and keep the
     chat.

     The `>` matters: .exchange-menu-header is also the class on the chat card's own "Platform Live
     Chat" title bar, so an unscoped rule would hide that heading and leave a headless chat box. */
  .exchange-left-sidebar {
    display: block !important;
  }
  .exchange-left-sidebar > .exchange-menu-header,
  .exchange-left-sidebar > .exchange-menu-list {
    display: none !important;
  }
  /* Sits directly under the main content rather than after a collapsed menu's leftover margin. */
  .exchange-left-sidebar > .live-chat-card {
    margin-top: 0 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   Rich Contextual Game Cards Grid & Tabs
   ═══════════════════════════════════════════════════════════════ */
.exchange-tabs-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius, 6px);
  margin-bottom: 12px;
  overflow-x: auto;
  scrollbar-width: none;
}
.exchange-tabs-bar::-webkit-scrollbar { display: none; }

.exchange-tab-btn {
  background: transparent;
  border: 1px solid transparent;
  color: var(--text-dim, #8b949e);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: var(--radius-pill, 999px);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.exchange-tab-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}
.exchange-tab-btn.active {
  color: #ffffff;
  background: linear-gradient(135deg, var(--red, #c8102e), #ff334b);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 2px 10px rgba(200, 16, 46, 0.4);
}

/* 4-column compact grid on desktop, 2-column on mobile */
.game-cards-showcase {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}

.game-cover-card {
  position: relative;
  aspect-ratio: 4 / 3;
  min-height: 130px;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px;
  background-color: #0d121f;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.22s ease, box-shadow 0.22s ease;
  cursor: pointer;
}

.game-cover-card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.3s ease;
  z-index: 1;
}

.game-cover-card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(7, 10, 20, 0.7) 0%,
    rgba(7, 10, 20, 0.1) 45%,
    rgba(7, 10, 20, 0.6) 75%,
    rgba(4, 6, 14, 0.95) 100%
  );
  z-index: 2;
  transition: background 0.25s ease;
}

.game-cover-card:hover {
  transform: translateY(-4px) scale(1.015);
  border-color: rgba(255, 201, 60, 0.6);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6), 0 0 16px rgba(255, 201, 60, 0.25);
}
.game-cover-card:hover .game-cover-card-bg {
  transform: scale(1.08);
}
.game-cover-card:hover .game-cover-card-overlay {
  background: linear-gradient(
    180deg,
    rgba(7, 10, 20, 0.5) 0%,
    rgba(7, 10, 20, 0.0) 40%,
    rgba(7, 10, 20, 0.5) 70%,
    rgba(4, 6, 14, 0.92) 100%
  );
}

/* Card Header: Badges */
.game-cover-top {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.game-badge-category {
  font-family: var(--font-display);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #ffffff;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.18);
}
.game-badge-category--red    { background: rgba(200, 16, 46, 0.85); border-color: rgba(255, 100, 120, 0.5); }
.game-badge-category--gold   { background: rgba(201, 160, 84, 0.85); color: #000; font-weight: 900; border-color: rgba(255, 220, 140, 0.6); }
.game-badge-category--green  { background: rgba(26, 159, 90, 0.85); border-color: rgba(60, 220, 140, 0.5); }
.game-badge-category--purple { background: rgba(123, 63, 240, 0.85); border-color: rgba(180, 130, 255, 0.5); }
.game-badge-category--teal   { background: rgba(0, 168, 150, 0.85); border-color: rgba(60, 230, 210, 0.5); }

.game-badge-live {
  font-size: 10px;
  font-weight: 700;
  color: #eaffef;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(46, 212, 122, 0.3);
}
.game-badge-live .live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2ed47a;
  box-shadow: 0 0 6px #2ed47a;
  animation: live-pulse 1.4s infinite ease-in-out;
}

/* Card Bottom Details */
.game-cover-bottom {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.game-cover-title {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  line-height: 1.2;
}
.game-cover-meta {
  font-size: 10.5px;
  color: rgba(255, 255, 255, 0.75);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.game-cover-action {
  font-size: 10px;
  font-weight: 800;
  color: var(--gold, #ffc53d);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  opacity: 0.9;
}
.game-cover-card:hover .game-cover-action {
  color: #ffffff;
  text-decoration: underline;
}

/* Compact Global Quick Stats bar */
.exchange-quick-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 14px;
  margin-top: 14px;
  margin-bottom: 8px;
  font-size: 11.5px;
  color: var(--text-dim);
  flex-wrap: wrap;
  gap: 8px 16px;
}
.quick-stat-item strong {
  color: var(--text);
  font-family: var(--font-display);
}

@media (max-width: 900px) {
  .game-cards-showcase {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
}

@media (max-width: 600px) {
  .game-cards-showcase {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .game-cover-card {
    min-height: 115px;
    padding: 8px;
  }
  .game-cover-title {
    font-size: 12.5px;
  }
  .game-badge-category {
    font-size: 8.5px;
    padding: 1px 5px;
  }
  .game-badge-live {
    font-size: 9px;
    padding: 1px 4px;
  }
  .exchange-quick-stats {
    font-size: 10.5px;
    padding: 6px 10px;
  }
}

/* ============================================================
   Landing Page Animation System
   ============================================================ */

/* Pulse animation for Live game tags */
@keyframes live-pulse {
  0% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.6; transform: scale(0.95); }
}
.event-tag.live {
  animation: live-pulse 1.8s infinite ease-in-out;
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Staggered Row Fade-in on entry */
@keyframes fadeInUpRow {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.exchange-row {
  opacity: 0;
  animation: fadeInUpRow 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.exchange-row:nth-child(1) { animation-delay: 0.05s; }
.exchange-row:nth-child(2) { animation-delay: 0.1s; }
.exchange-row:nth-child(3) { animation-delay: 0.15s; }
.exchange-row:nth-child(4) { animation-delay: 0.2s; }
.exchange-row:nth-child(5) { animation-delay: 0.25s; }
.exchange-row:nth-child(6) { animation-delay: 0.3s; }
.exchange-row:nth-child(7) { animation-delay: 0.35s; }
.exchange-row:nth-child(8) { animation-delay: 0.4s; }

/* Odds Box Hover Zoom effects */
.odds-box {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s, border-color 0.2s, box-shadow 0.2s !important;
}
.odds-box:hover {
  transform: scale(1.06) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
  z-index: 2;
}

/* Live Simulated Flashing highlights */
@keyframes odds-flash-up {
  0% { background-color: rgba(46, 212, 122, 0.5); border-color: #2ed47a; }
  100% { background-color: transparent; border-color: inherit; }
}
@keyframes odds-flash-down {
  0% { background-color: rgba(244, 67, 54, 0.5); border-color: #f44336; }
  100% { background-color: transparent; border-color: inherit; }
}
.odds-box.flash-up {
  animation: odds-flash-up 1.2s ease-out;
}
.odds-box.flash-down {
  animation: odds-flash-down 1.2s ease-out;
}

/* Live Wins Ticker — compact news strip */
.ticker-wrap {
  display: flex;
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  height: 32px;
  overflow: hidden;
  margin-bottom: 8px;
  border-radius: var(--radius-pill);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.ticker-title {
  background: none;
  color: var(--red);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 4px 0 12px;
  z-index: 10;
  box-shadow: none;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.ticker-container {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}
.ticker-track {
  display: flex;
  align-items: center;
  gap: 60px;
  position: absolute;
  white-space: nowrap;
  animation: marqueeScrolling 26s linear infinite;
  padding-left: 100%;
}
.ticker-item {
  color: var(--text-dim);
  font-size: 12.5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ticker-item strong {
  color: var(--text);
}
.ticker-detail-btn {
  flex-shrink: 0;
  margin-right: 6px;
  background: linear-gradient(160deg, var(--red), var(--red-deep));
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11.5px;
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

@keyframes marqueeScrolling {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* Platform Chat Box Scrollbar */
.live-chat-messages::-webkit-scrollbar {
  width: 4px;
}
.live-chat-messages::-webkit-scrollbar-track {
  background: var(--bg-soft);
}
.live-chat-messages::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 2px;
}




/* =================================================================================================
   FEATURE GATE — CRICKET (Your 11 / Boundary Baazi)
   =================================================================================================
   Both games are fully built and their code stays in the repository, but they are NOT part of the
   v1 launch: there is no paid match-data feed yet, and their backend has not been ported to PHP.

   THIS RULE IS THE ENTIRE SWITCH. It hides every link, card, nav item, filter tab and admin panel
   that leads to either game, everywhere they appear. assets/js/ui-common.js reads this very rule
   (it probes a throwaway element) to decide whether to bounce a direct visitor off the two cricket
   pages, so there is deliberately no second flag anywhere in the frontend to keep in sync.

   TO TURN CRICKET ON IN v2:
     1. delete this whole block, and
     2. set CRICKET_ENABLED=true in the backend environment.
   Nothing else. `!important` is required here: index.html's category filter sets an inline
   display value on game cards, and this rule has to win over it.
   ============================================================================================== */
/* [data-feature="cricket"] {
  display: none !important;
} */

/* =================================================================================================
   Bottom "recent wins" ticker (assets/js/ui-common.js injects the markup)
   ================================================================================================= */
.bet1x-win-ticker {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9990;
  display: flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(90deg, var(--surface-2), var(--surface));
  border-top: 1px solid var(--border);
  box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.25);
  padding: 8px 16px;
  font-family: var(--font-body);
  font-size: 12.5px;
  color: var(--text-dim);
}
.bet1x-win-ticker-icon {
  flex-shrink: 0;
  font-size: 14px;
}
.bet1x-win-ticker-text {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.bet1x-win-ticker-text.fading {
  opacity: 0;
}
.bet1x-win-ticker-text strong {
  color: var(--gold);
  font-weight: 700;
}
.bet1x-win-ticker-text .amt {
  color: var(--green);
  font-weight: 700;
  font-family: var(--font-mono);
}
@media (max-width: 600px) {
  .bet1x-win-ticker {
    font-size: 11px;
    padding: 7px 12px;
  }
}

/* =================================================================================================
   Player profile modal
   ================================================================================================= */
.profile-stat-tile {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  /* Narrow side padding buys the number several more characters of room. */
  padding: 10px 5px;
  text-align: center;
  /* Grid/flex items default to min-width:auto, i.e. they refuse to shrink below their content.
     That is what let a long amount like ₹18,528.78 push straight out of its tile and overlap the
     next one. */
  min-width: 0;
}
.profile-stat-value {
  font-family: var(--font-mono);
  /* Scales with the viewport rather than a fixed 17px, so a long amount still fits on a narrow
     phone while a short value (a win count) keeps its full size on a wide screen. */
  font-size: clamp(12px, 3.6vw, 17px);
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
}
/* Money tiles (Won / Lost / balances) carry by far the longest strings — "₹18,528.78" is 10
   characters where a win count is 1-2 — so they are sized down further.
   Deliberately NO text-overflow:ellipsis here: truncating an amount to "₹18,528…" hides the very
   figure the player came to read, which is worse than the overflow it was added to prevent. The
   font is sized so the whole number fits instead of being cut. */
.profile-stat-value.is-money {
  font-size: clamp(9.5px, 2.9vw, 13px);
  letter-spacing: -0.02em;
}
.profile-stat-label {
  font-size: 10.5px;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 3px;
}

/* Per-game filter tabs above the Game History table (assets/js/ui-common.js builds them from the
   games actually present in the history). Scrolls sideways rather than wrapping, so a player with
   several games keeps the table at a predictable height on a phone. */
.profile-history-tabs {
  display: flex;
  gap: 6px;
  margin: 0 0 10px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.profile-history-tabs::-webkit-scrollbar { display: none; }

.profile-history-tab {
  flex: 0 0 auto;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  color: var(--text-dim);
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 700;
  padding: 6px 12px;
  cursor: pointer;
  white-space: nowrap;
  transition: color .15s, border-color .15s, background .15s;
}
.profile-history-tab:hover { color: var(--text); border-color: var(--text-faint); }
.profile-history-tab.active {
  background: var(--gold-soft);
  border-color: var(--gold);
  color: var(--gold);
}
.profile-history-tab-count {
  font-family: var(--font-mono);
  font-size: 10px;
  opacity: 0.75;
  margin-left: 2px;
}

.profile-menu {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.profile-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  color: var(--text);
  text-decoration: none;
  border-top: 1px solid var(--border);
  background: var(--surface-2);
  transition: background 0.15s ease;
}
.profile-menu-item:first-child { border-top: none; }
.profile-menu-item:hover { background: var(--surface-3, var(--surface-2)); }
.profile-menu-icon { font-size: 16px; flex-shrink: 0; }
.profile-menu-label { font-weight: 600; font-size: 13.5px; }
.profile-menu-note {
  margin-left: auto;
  font-size: 11.5px;
  color: var(--text-dim);
}
.profile-menu-chevron {
  color: var(--text-dim);
  font-size: 15px;
  transition: transform 0.15s ease;
  flex-shrink: 0;
}
.profile-menu-section {
  background: var(--bg);
  padding: 0 14px 14px;
  border-top: 1px solid var(--border);
}
.profile-menu-bullet {
  width: 6px;
  height: 6px;
  min-width: 6px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}
.profile-menu-subitem {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 10px 30px;
  color: var(--text-dim);
  text-decoration: none;
  font-size: 12.5px;
  border-top: 1px solid var(--border);
}
.profile-menu-subitem:first-child { border-top: none; }

/* Header avatar icon that replaced the clickable username. */
.header-profile-avatar {
  display: inline-flex;
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--border);
  flex-shrink: 0;
}
.header-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Dedicated profile page (profile.html) — back button, gear icon, avatar. */
.profile-back-btn {
  padding: 7px 14px;
  font-size: 12.5px;
}
.profile-gear-btn {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text-dim);
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  flex-shrink: 0;
}
.profile-avatar-img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--gold);
  box-shadow: 0 0 16px rgba(201,160,84,0.25);
}

/* ============================================================
   Global Win/Loss Result Popup — assets/js/result-popup.js
   One shared component, loaded on every game page, so every game's win/loss moment gets the same
   unmissable full-screen confirmation instead of each game inventing its own.
   ============================================================ */
.bet1x-result-popup {
  position: fixed;
  inset: 0;
  z-index: 9995;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(5, 7, 15, 0.6);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  overflow: hidden;
}
.bet1x-result-popup.active {
  opacity: 1;
  pointer-events: auto;
}
.bet1x-result-card {
  position: relative;
  z-index: 2;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px 44px;
  text-align: center;
  min-width: 220px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.45);
  transform: scale(0.6);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(.2,1.4,.4,1), opacity 0.25s ease;
}
.bet1x-result-popup.active .bet1x-result-card {
  transform: scale(1);
  opacity: 1;
}
.bet1x-result-popup.is-win .bet1x-result-card {
  border-color: var(--green);
  box-shadow: 0 0 50px rgba(46,212,122,0.35), 0 20px 60px rgba(0,0,0,0.45);
}
.bet1x-result-popup.is-lose .bet1x-result-card {
  border-color: var(--red);
  box-shadow: 0 0 40px rgba(255,75,110,0.25), 0 20px 60px rgba(0,0,0,0.45);
}
.bet1x-result-icon {
  font-size: 52px;
  line-height: 1;
  margin-bottom: 8px;
  animation: bet1x-result-bounce 0.6s ease;
}
.bet1x-result-title {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.bet1x-result-popup.is-win .bet1x-result-title { color: var(--green); }
.bet1x-result-popup.is-lose .bet1x-result-title { color: var(--red); }
.bet1x-result-amount {
  font-family: var(--font-mono);
  font-size: 20px;
  font-weight: 700;
}
.bet1x-result-popup.is-win .bet1x-result-amount { color: var(--green); }
.bet1x-result-popup.is-lose .bet1x-result-amount { color: var(--red); }

@keyframes bet1x-result-bounce {
  0% { transform: scale(0.3) rotate(-15deg); }
  50% { transform: scale(1.15) rotate(8deg); }
  100% { transform: scale(1) rotate(0deg); }
}

.bet1x-result-confetti {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.bet1x-confetti-piece {
  position: absolute;
  top: -10px;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  opacity: 0;
  animation-name: bet1x-confetti-fall;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}
@keyframes bet1x-confetti-fall {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(70vh) rotate(360deg); opacity: 0; }
}

@media (max-width: 480px) {
  .bet1x-result-card { padding: 24px 30px; min-width: 180px; }
  .bet1x-result-icon { font-size: 40px; }
  .bet1x-result-title { font-size: 19px; }
  .bet1x-result-amount { font-size: 16px; }
}

/* ============================================================
   Per-game "My History" panel (bottom of each game page)
   Mounted by initGameHistoryPanel() in assets/js/ui-common.js.
   ============================================================ */
.gh-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin: 14px 0 22px;
  overflow: hidden;
}
.gh-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
}
.gh-title {
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.gh-refresh {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-dim);
  border-radius: 20px;
  padding: 4px 13px;
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.gh-refresh:hover { color: var(--text); border-color: var(--text-dim); }
.gh-msg {
  padding: 20px 14px;
  text-align: center;
  color: var(--text-dim);
  font-size: 12.5px;
}
.gh-msg-error { color: var(--red); }
/* overflow-x is a safety net: if a very long value still does not fit a narrow phone the
   table scrolls sideways inside the panel instead of being cut off by the screen edge. */
.gh-scroll { max-height: 250px; overflow-y: auto; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gh-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.gh-table th {
  text-align: left;
  padding: 8px 12px;
  color: var(--text-dim);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  position: sticky;
  top: 0;
  background: var(--surface-2);
  z-index: 1;
}
.gh-table td { padding: 8px 12px; border-top: 1px solid var(--border); }
.gh-bet { font-family: var(--font-mono); font-weight: 600; white-space: nowrap; }
.gh-amt { font-family: var(--font-mono); font-weight: 700; white-space: nowrap; }
.gh-win  { color: var(--green); }
.gh-loss { color: var(--red); }
.gh-time { color: var(--text-dim); font-size: 11.5px; white-space: nowrap; }

/* Phones and small tablets.

   The site-wide mobile block at this same 768px breakpoint contains

       table { display: block; overflow-x: auto; }

   and `display: block` on a <table> throws away real table layout: the rows then get wrapped
   in an anonymous shrink-to-fit table box, so the columns collapse to their content, bunch up
   against the left edge and leave dead space down the right-hand side. That is the squeezed
   layout reported on the live site.

   These rules restore proper table behaviour for THIS panel only, by id-free but
   panel-scoped selectors. The global rule is deliberately left exactly as it is, because
   other tables on the site rely on its horizontal scrolling. */
@media (max-width: 768px) {
  .gh-panel  { width: 100%; box-sizing: border-box; }
  .gh-scroll { width: 100%; }

  .gh-panel .gh-table       { display: table; table-layout: fixed; width: 100%; }
  .gh-panel .gh-table thead { display: table-header-group; }
  .gh-panel .gh-table tbody { display: table-row-group; }
  .gh-panel .gh-table tr    { display: table-row; }
  .gh-panel .gh-table th,
  .gh-panel .gh-table td    { display: table-cell; }

  /* Four proportional columns totalling 100%, so a row fills the panel edge to edge with no
     gap left over. Width AND alignment are declared once for each column and applied to the
     th and the td together — that pairing is what keeps every header label sitting directly
     above its own data instead of drifting out of step with it. */
  .gh-panel .gh-table th:nth-child(1),
  .gh-panel .gh-table td:nth-child(1) { width: 25%; text-align: left; }
  .gh-panel .gh-table th:nth-child(2),
  .gh-panel .gh-table td:nth-child(2) { width: 25%; text-align: center; }
  .gh-panel .gh-table th:nth-child(3),
  .gh-panel .gh-table td:nth-child(3) { width: 27%; text-align: center; }
  .gh-panel .gh-table th:nth-child(4),
  .gh-panel .gh-table td:nth-child(4) { width: 23%; text-align: right; }

  /* Fixed layout means a cell can no longer widen itself, so values wrap onto a second line
     instead. Deliberately NOT truncated with an ellipsis — amounts must stay readable in
     full. */
  .gh-bet, .gh-amt { white-space: normal; overflow-wrap: anywhere; }
  .gh-time { white-space: normal; }
}

/* Phones. The four columns have to survive a 320px-wide screen, so the padding tightens,
   the badge shrinks, and the timestamp drops its year and puts the clock on a second line
   ("25 Sep" over "10:00 am") instead of holding the table open on one long nowrap line. */
@media (max-width: 480px) {
  .gh-panel { margin: 12px 0 18px; }
  .gh-head { padding: 9px 10px; }
  .gh-title { font-size: 12.5px; }
  .gh-refresh { padding: 3px 10px; font-size: 11px; }
  .gh-table { font-size: 11.5px; }
  .gh-table th { padding: 6px 7px; font-size: 9.5px; letter-spacing: 0.02em; }
  .gh-table td { padding: 6px 7px; }
  .gh-bet, .gh-amt { font-size: 11px; }
  .gh-panel .badge { padding: 2px 8px; font-size: 10px; }
  .gh-time { white-space: normal; font-size: 10.5px; line-height: 1.35; }
  .gh-year { display: none; }
  .gh-clock { display: block; }
}

/* Small phones (320–360px). */
@media (max-width: 360px) {
  .gh-table th, .gh-table td { padding: 5px 5px; }
  .gh-bet, .gh-amt { font-size: 10.5px; }
  .gh-table th { font-size: 9px; }
  .gh-panel .badge { padding: 2px 6px; font-size: 9.5px; }
}

/* ============================================================
   Login / signup hand-off overlay
   Shown by showAuthPending() in assets/js/ui-common.js from the moment Sign In is
   pressed until the browser navigates, so the form cannot reappear in between.
   Sits above the auth modal (99998) but below the toast layer (999999).
   ============================================================ */
#bet1x-auth-pending {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  z-index: 999998;
}
#bet1x-auth-pending.active { display: flex; }
.auth-pending-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 0 24px;
  text-align: center;
}
.auth-pending-spinner {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid var(--border);
  border-top-color: var(--gold);
  animation: authPendingSpin 0.8s linear infinite;
}
@keyframes authPendingSpin { to { transform: rotate(360deg); } }
.auth-pending-text { font-size: 14px; font-weight: 600; color: var(--text); }

@media (prefers-reduced-motion: reduce) {
  .auth-pending-spinner { animation-duration: 2.4s; }
}

/* ---- Phones: the signed-in header on ONE line (logo, avatar, balance, deposit, logout icon).
   It used to wrap onto three lines; the username and the word "Logout" are dropped here (the
   profile avatar and the drawer still lead to the account). ---- */
@media (max-width: 600px) {
  .navbar.exchange-header, body.exchange-theme .navbar.exchange-header { padding: 8px 10px !important; gap: 6px !important; flex-wrap: nowrap !important; min-height: 0 !important; }
  body.exchange-theme .exchange-logo-box { font-size: 19px !important; gap: 6px !important; flex-shrink: 0; padding: 0 !important; }
  .gs-logo-wrap { flex-shrink: 0; }
  body.exchange-theme .exchange-logo-box::before { width: 26px !important; height: 26px !important; }
  #headerAuthArea { flex: 0 1 auto; min-width: 0; }
  .header-user-info { flex-wrap: nowrap !important; gap: 6px !important; justify-content: flex-end !important; }
  .header-user-info > span:not(.wallet-chip) { display: none !important; }       /* "Welcome, <name>" */
  .header-profile-avatar { width: 26px !important; height: 26px !important; min-width: 26px !important; }
  #headerAuthArea .wallet-chip { padding: 5px 8px !important; font-size: 11.5px !important; white-space: nowrap; }
  .header-deposit-btn { padding: 6px 9px !important; font-size: 11.5px !important; white-space: nowrap; }
  /* logout: a proper tappable button with a power icon (the word is dropped to keep one line) */
  .header-logout-link { font-size: 0 !important; border-left: 0 !important; padding: 0 !important; width: 34px; height: 34px; flex: 0 0 34px;
    display: inline-flex !important; align-items: center; justify-content: center; border-radius: 9px;
    border: 1px solid rgba(255, 77, 106, .55) !important; background: rgba(255, 77, 106, .1); }
  .header-logout-link::after { content: ''; width: 18px; height: 18px;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff4d6a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 3v8'/%3E%3Cpath d='M6.4 6.6a8 8 0 1 0 11.2 0'/%3E%3C/svg%3E"); }
  .gs-logo-wrap { gap: 8px !important; }
  .gs-burger.gs-inline { width: 34px !important; height: 34px !important; }
}
@media (max-width: 430px) {
  body.exchange-theme .exchange-logo-box { font-size: 0 !important; gap: 0 !important; }   /* just the logo mark: room for the balance */
  body.exchange-theme .exchange-logo-box::before { width: 30px !important; height: 30px !important; }
}
