/* =========================================================================
   YonoSuper Pro - Professional Mobile-First Luxury Gaming Portal
   Pixel-Perfect Dark & Light Mode Color System
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

:root {
  --bg-primary: #090d16;
  --bg-card: #111726;
  --border-subtle: #1e293b;
  --text-main: #f8fafc;
  --text-muted: #94a3b8;
  --gold-gradient: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  --green-btn: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  --green-glow: 0 4px 18px rgba(34, 197, 94, 0.35);
}

* {
  box-sizing: border-box;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  -webkit-tap-highlight-color: transparent;
}

body {
  background-color: #090d16;
  color: #f1f5f9;
  overflow-x: hidden;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: #334155;
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #f59e0b;
}

/* =========================================================================
   DARK THEME COMPONENTS (Default)
   ========================================================================= */

/* Hero Banner */
.hero-banner {
  background: linear-gradient(135deg, #141b2d 0%, #161c2e 50%, #241a0d 100%);
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.hero-pill {
  background-color: rgba(15, 23, 42, 0.85);
  border: 1px solid #334155;
}

/* Header & Drawer */
.main-header {
  background-color: rgba(11, 15, 29, 0.95);
  border-bottom: 1px solid #1e293b;
}

.theme-toggle-btn {
  background-color: rgba(30, 41, 59, 0.8);
  border: 1px solid #334155;
  color: #fbbf24;
}
.theme-toggle-btn:hover {
  background-color: #334155;
}

/* Feature Hub Bar */
.feature-hub-btn {
  background: linear-gradient(145deg, rgba(26, 35, 58, 0.85) 0%, rgba(15, 21, 35, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.feature-hub-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(245, 158, 11, 0.5);
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.15);
}

/* Casino App Cards */
.casino-card {
  background: linear-gradient(145deg, rgba(22, 30, 49, 0.95) 0%, rgba(15, 21, 35, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.5);
  transition: all 0.2s ease;
}
.casino-card:hover {
  border-color: rgba(245, 158, 11, 0.4);
  box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.7), 0 0 20px rgba(245, 158, 11, 0.15);
  transform: translateY(-2px);
}

/* Podium Cards */
.podium-gold {
  background: linear-gradient(145deg, rgba(38, 28, 10, 0.95) 0%, rgba(18, 22, 36, 0.98) 100%);
  border: 1.5px solid rgba(245, 158, 11, 0.6);
  box-shadow: 0 0 30px rgba(245, 158, 11, 0.25);
}
.podium-silver {
  background: linear-gradient(145deg, rgba(30, 36, 50, 0.95) 0%, rgba(15, 21, 35, 0.98) 100%);
  border: 1.5px solid rgba(148, 163, 184, 0.4);
}
.podium-bronze {
  background: linear-gradient(145deg, rgba(40, 25, 18, 0.95) 0%, rgba(15, 21, 35, 0.98) 100%);
  border: 1.5px solid rgba(217, 119, 6, 0.4);
}

/* App Metrics Inner Box */
.app-metrics-box {
  background: rgba(9, 13, 22, 0.85);
  border: 1px solid #1e293b;
  color: #94a3b8;
}

/* Bonus & Withdraw Badges (Dark Mode) */
.badge-bonus {
  background-color: rgba(6, 78, 59, 0.7);
  border: 1px solid rgba(52, 211, 153, 0.4);
  color: #6ee7b7;
}

.badge-withdraw {
  background-color: rgba(120, 53, 15, 0.7);
  border: 1px solid rgba(251, 191, 36, 0.4);
  color: #fcd34d;
}

/* Referral Pill (Dark Mode) */
.btn-refer {
  background: rgba(15, 23, 42, 0.85);
  border: 1px dashed rgba(245, 158, 11, 0.5);
  color: #fbbf24;
  transition: all 0.2s ease;
}
.btn-refer:hover {
  background: rgba(245, 158, 11, 0.15);
}

/* Download Button */
.btn-download {
  background: var(--green-btn);
  color: #ffffff !important;
  box-shadow: var(--green-glow);
  transition: all 0.2s ease;
}
.btn-download:hover {
  background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
  box-shadow: 0 6px 25px rgba(34, 197, 94, 0.55);
  transform: translateY(-1px);
}

/* Telegram Button */
.btn-telegram {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(2, 132, 199, 0.35);
  transition: all 0.2s ease;
}

/* Spin Trigger */
.btn-spin-trigger {
  background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 50%, #f59e0b 100%);
  background-size: 200% 200%;
  animation: gradientMove 3s ease infinite;
  box-shadow: 0 4px 20px rgba(236, 72, 153, 0.4);
  color: #ffffff !important;
}

@keyframes gradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Red Packet */
.red-packet-card {
  background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 50%, #450a0a 100%);
  border: 1.5px solid rgba(252, 211, 77, 0.4);
  box-shadow: 0 10px 30px rgba(185, 28, 28, 0.3);
}

.red-packet-pulse {
  animation: packetPulse 2s infinite ease-in-out;
}
@keyframes packetPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}

/* Category Pills (Dark Mode) */
.cat-pill-active {
  background: linear-gradient(135deg, #fbbf24 0%, #d97706 100%) !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  border-color: #fef08a !important;
  box-shadow: 0 4px 15px rgba(217, 119, 6, 0.4) !important;
}

/* Winning Tricks Card */
.trick-card {
  background: linear-gradient(145deg, rgba(30, 27, 75, 0.8) 0%, rgba(15, 23, 42, 0.95) 100%);
  border: 1px solid rgba(168, 85, 247, 0.35);
}

/* Live Payout Section Elements (Dark Mode) */
.payout-live-badge {
  background-color: rgba(6, 78, 59, 0.8);
  border: 1px solid rgba(52, 211, 153, 0.4);
  color: #34d399;
}
.btn-receipt {
  background-color: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fcd34d;
}

/* Marquee Ticker */
@keyframes tickerAnim {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
.ticker-wrap {
  overflow: hidden;
  white-space: nowrap;
}
.ticker-move {
  display: inline-flex;
  white-space: nowrap;
  animation: tickerAnim 40s linear infinite;
}
.ticker-move:hover {
  animation-play-state: paused;
}

/* Lucky Wheel */
.wheel-container {
  position: relative;
  width: 280px;
  height: 280px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .wheel-container {
    width: 320px;
    height: 320px;
  }
}
.wheel-pointer {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 38px;
  z-index: 10;
}

/* Receipt Modal Paper */
.receipt-card {
  background: #f8fafc;
  color: #0f172a;
  border-radius: 18px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.6);
}


/* =========================================================================
   🌞 COMPLETE PIXEL-PERFECT LIGHT MODE (Pure Crisp Luxury, High Contrast)
   ========================================================================= */

html.light body,
body.light-theme {
  background-color: #f8fafc !important;
  color: #0f172a !important;
}

/* Header */
html.light .main-header,
body.light-theme .main-header {
  background-color: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
}

html.light .theme-toggle-btn,
body.light-theme .theme-toggle-btn {
  background-color: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #d97706 !important;
}

html.light #mobile-drawer,
body.light-theme #mobile-drawer {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
}
html.light #mobile-drawer a,
body.light-theme #mobile-drawer a {
  color: #334155 !important;
}
html.light #mobile-drawer a:hover,
body.light-theme #mobile-drawer a:hover {
  background-color: #f1f5f9 !important;
}

/* Ticker Bar */
html.light .ticker-wrap,
html.light .bg-\[\#0d1322\],
body.light-theme .bg-\[\#0d1322\] {
  background-color: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}
html.light .ticker-move div,
body.light-theme .ticker-move div {
  color: #334155 !important;
}

/* Typography High Contrast Overrides */
html.light .text-slate-100,
html.light .text-white,
body.light-theme .text-white,
body.light-theme .text-slate-100 {
  color: #0f172a !important;
}

html.light .text-slate-300,
html.light .text-slate-400,
body.light-theme .text-slate-300,
body.light-theme .text-slate-400 {
  color: #475569 !important;
}

html.light .text-slate-500,
body.light-theme .text-slate-500 {
  color: #64748b !important;
}

/* Hero Banner in Light Mode */
html.light .hero-banner,
body.light-theme .hero-banner {
  background: linear-gradient(135deg, #ffffff 0%, #fffbeb 60%, #fef3c7 100%) !important;
  border: 1.5px solid rgba(245, 158, 11, 0.4) !important;
  box-shadow: 0 8px 25px rgba(245, 158, 11, 0.1) !important;
}
html.light .hero-banner h1,
body.light-theme .hero-banner h1 {
  color: #0f172a !important;
}
html.light .hero-banner p,
body.light-theme .hero-banner p {
  color: #334155 !important;
}
html.light .hero-pill,
body.light-theme .hero-pill {
  background-color: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.03) !important;
}

/* Feature Hub Cards */
html.light .feature-hub-btn,
body.light-theme .feature-hub-btn {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04) !important;
}
html.light .feature-hub-btn .text-white,
body.light-theme .feature-hub-btn .text-white {
  color: #0f172a !important;
}

/* Podium Cards */
html.light .podium-gold,
body.light-theme .podium-gold {
  background: linear-gradient(145deg, #fffbeb 0%, #fef3c7 100%) !important;
  border-color: #f59e0b !important;
  box-shadow: 0 8px 25px rgba(245, 158, 11, 0.15) !important;
}
html.light .podium-silver,
body.light-theme .podium-silver {
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
}
html.light .podium-bronze,
body.light-theme .podium-bronze {
  background: linear-gradient(145deg, #fff7ed 0%, #ffedd5 100%) !important;
  border-color: #fdba74 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
}

/* App Metrics Box */
html.light .app-metrics-box,
body.light-theme .app-metrics-box {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #475569 !important;
}

/* Casino App Cards in Light Mode */
html.light .casino-card,
body.light-theme .casino-card {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
}
html.light .casino-card:hover,
body.light-theme .casino-card:hover {
  border-color: #f59e0b !important;
  box-shadow: 0 8px 25px rgba(245, 158, 11, 0.15) !important;
}

/* 🟢 BONUS & WITHDRAW PILLS (Light Mode - Crisp & Soft) */
html.light .badge-bonus,
html.light .bg-emerald-950\/80,
body.light-theme .badge-bonus,
body.light-theme .bg-emerald-950\/80 {
  background-color: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
  color: #047857 !important;
}

html.light .badge-withdraw,
html.light .bg-amber-950\/80,
body.light-theme .badge-withdraw,
body.light-theme .bg-amber-950\/80 {
  background-color: #fffbeb !important;
  border-color: #fde68a !important;
  color: #b45309 !important;
}

/* Referral Pill */
html.light .btn-refer,
body.light-theme .btn-refer {
  background-color: #fffbeb !important;
  border: 1.5px dashed #f59e0b !important;
  color: #92400e !important;
}

/* Live Payout Proofs Section in Light Mode */
html.light .payout-live-badge,
html.light .bg-emerald-950\/90,
body.light-theme .payout-live-badge,
body.light-theme .bg-emerald-950\/90 {
  background-color: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
  color: #047857 !important;
}

html.light .btn-receipt,
body.light-theme .btn-receipt {
  background-color: #fef3c7 !important;
  border-color: #fde68a !important;
  color: #92400e !important;
}
html.light .btn-receipt:hover,
body.light-theme .btn-receipt:hover {
  background-color: #fde68a !important;
}

html.light .text-emerald-400,
body.light-theme .text-emerald-400 {
  color: #059669 !important;
}

html.light .text-amber-400,
body.light-theme .text-amber-400 {
  color: #d97706 !important;
}

/* Background Utility Overrides in Light Mode */
html.light .bg-\[\#111726\],
html.light .bg-\[\#0f1523\],
html.light .bg-\[\#141b2d\],
html.light .bg-\[\#090d16\],
html.light .bg-\[\#060911\],
body.light-theme .bg-\[\#111726\],
body.light-theme .bg-\[\#0f1523\],
body.light-theme .bg-\[\#141b2d\],
body.light-theme .bg-\[\#090d16\],
body.light-theme .bg-\[\#060911\] {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
}

html.light .bg-slate-900\/60,
html.light .bg-slate-900,
html.light .bg-slate-800,
body.light-theme .bg-slate-900,
body.light-theme .bg-slate-800 {
  background-color: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
}

html.light .border-slate-800,
html.light .border-slate-700,
body.light-theme .border-slate-800,
body.light-theme .border-slate-700 {
  border-color: #e2e8f0 !important;
}

/* Search Bar & Select */
html.light input#search-input,
html.light select#sort-select,
body.light-theme input#search-input,
body.light-theme select#sort-select {
  background-color: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

/* Winning Tricks in Light Mode */
html.light .trick-card,
body.light-theme .trick-card {
  background: #ffffff !important;
  border-color: #e9d5ff !important;
  box-shadow: 0 4px 15px rgba(168, 85, 247, 0.08) !important;
}
html.light .trick-card h3,
body.light-theme .trick-card h3 {
  color: #581c87 !important;
}

/* Footer in Light Mode */
html.light footer,
body.light-theme footer {
  background-color: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
  color: #475569 !important;
}
