/* Satta Game Portal - Modern CSS Design System */
/* Base Settings & Theme Customization */

:root {
  /* Core Theme Colors (Light Mode Default) */
  --bg-color: #f1f5f9;
  --panel-bg: rgba(255, 255, 255, 0.7);
  --panel-bg-solid: #ffffff;
  --border-color: rgba(15, 23, 42, 0.08);
  --border-glow: rgba(0, 240, 255, 0.06);
  --wheel-size: 340px;

  /* Text Colors */
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #64748b;

  /* Market Accent Colors & Neon Shadows */
  --color-cyan: #008fa3;
  --color-pink: #d00068;
  --color-green: #1da803;
  --color-gold: #c28200;
  --color-purple: #9600cc;

  --shadow-cyan: 0 0 10px rgba(0, 143, 163, 0.25);
  --shadow-pink: 0 0 10px rgba(208, 0, 104, 0.25);
  --shadow-green: 0 0 10px rgba(29, 168, 3, 0.25);
  --shadow-gold: 0 0 10px rgba(194, 130, 0, 0.25);

  /* Transitions */
  --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);

  /* Element Specific Themes (Light Mode Default) */
  --blob-opacity: 0.04;
  --marquee-bg: rgba(255, 255, 255, 0.85);
  --marquee-content-color: #334155;
  --marquee-content-strong: #0f172a;
  --header-bg: rgba(241, 245, 249, 0.7);
  --glow-btn-bg: rgba(15, 23, 42, 0.05);
  --glow-btn-hover-color: #ffffff;
  --card-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  --card-hover-border: rgba(15, 23, 42, 0.15);

  --table-th-bg: rgba(0, 0, 0, 0.02);
  --table-tr-border: rgba(0, 0, 0, 0.03);
  --results-table-hover: rgba(0, 0, 0, 0.015);

  --digit-bg: #e2e8f0;
  --digit-shadow: inset 0 0 10px rgba(0, 0, 0, 0.06);
  --digit-text-shadow: none;

  --details-bg: rgba(0, 0, 0, 0.015);
  --details-border: rgba(0, 0, 0, 0.04);
  --haruf-bg: rgba(0, 0, 0, 0.03);
  --guesser-item-bg: rgba(0, 0, 0, 0.02);
  --vote-btn-bg: rgba(0, 0, 0, 0.04);
  --footer-bg: #e2e8f0;
  --input-bg: rgba(0, 0, 0, 0.02);
  --drawer-shadow: -10px 0 40px rgba(15, 23, 42, 0.15);

  --toast-bg: rgba(255, 255, 255, 0.95);
  --toast-shadow: 0 10px 30px rgba(0, 0, 0, 0.1), 0 0 15px rgba(57, 255, 20, 0.15);
  --toast-text: #0f172a;
}

body.dark-theme {
  /* Core Theme Colors (Dark Mode Override) */
  --bg-color: #070913;
  --panel-bg: rgba(16, 20, 38, 0.55);
  --panel-bg-solid: #0d1020;
  --border-color: rgba(255, 255, 255, 0.08);
  --border-glow: rgba(0, 240, 255, 0.15);

  /* Text Colors */
  --text-primary: #f8fafc;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;

  /* Market Accent Colors & Neon Shadows */
  --color-cyan: #00f0ff;
  --color-pink: #ff007f;
  --color-green: #39ff14;
  --color-gold: #ffaa00;
  --color-purple: #bd00ff;

  --shadow-cyan: 0 0 15px rgba(0, 240, 255, 0.4);
  --shadow-pink: 0 0 15px rgba(255, 0, 127, 0.4);
  --shadow-green: 0 0 15px rgba(57, 255, 20, 0.4);
  --shadow-gold: 0 0 15px rgba(255, 170, 0, 0.4);

  /* Element Specific Themes (Dark Mode Override) */
  --blob-opacity: 0.12;
  --marquee-bg: rgba(13, 16, 32, 0.85);
  --marquee-content-color: var(--text-secondary);
  --marquee-content-strong: var(--text-primary);
  --header-bg: rgba(7, 9, 19, 0.7);
  --glow-btn-bg: rgba(255, 255, 255, 0.05);
  --glow-btn-hover-color: var(--bg-color);
  --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  --card-hover-border: rgba(255, 255, 255, 0.15);

  --table-th-bg: rgba(255, 255, 255, 0.02);
  --table-tr-border: rgba(255, 255, 255, 0.03);
  --results-table-hover: rgba(255, 255, 255, 0.02);

  --digit-bg: #111425;
  --digit-shadow: inset 0 0 10px rgba(0, 0, 0, 0.8);
  --digit-text-shadow: var(--shadow-cyan);

  --details-bg: rgba(255, 255, 255, 0.02);
  --details-border: rgba(255, 255, 255, 0.04);
  --haruf-bg: rgba(255, 255, 255, 0.04);
  --guesser-item-bg: rgba(255, 255, 255, 0.03);
  --vote-btn-bg: rgba(255, 255, 255, 0.05);
  --footer-bg: #04050a;
  --input-bg: rgba(255, 255, 255, 0.02);
  --drawer-shadow: -10px 0 40px rgba(0, 0, 0, 0.8);

  --toast-bg: rgba(13, 16, 32, 0.95);
  --toast-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 15px rgba(57, 255, 20, 0.1);
  --toast-text: var(--text-primary);
}

/* Reset & Scrollbar Styling */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden !important;
  max-width: 100% !important;
}

body {
  background-color: var(--bg-color);
  color: var(--text-primary);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  min-height: 100vh;
  overflow-x: hidden !important;
  max-width: 100% !important;
  line-height: 1.6;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(7, 9, 19, 0.5);
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* Layout Containers & Background Blobs */
.bg-blob-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  z-index: -1;
  pointer-events: none;
}

.glow-bg-blob {
  position: fixed;
  border-radius: 50%;
  filter: blur(140px);
  z-index: -1;
  opacity: var(--blob-opacity);
  pointer-events: none;
}

.blob-1 {
  width: 400px;
  height: 400px;
  background-color: var(--color-cyan);
  top: -100px;
  left: -100px;
}

.blob-2 {
  width: 500px;
  height: 500px;
  background-color: var(--color-pink);
  bottom: -150px;
  right: -100px;
}

.blob-3 {
  width: 350px;
  height: 350px;
  background-color: var(--color-purple);
  top: 40%;
  left: 30%;
  opacity: 0.08;
}

/* Glassmorphism Card Style */
.glass-card {
  background: var(--panel-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  box-shadow: var(--card-shadow);
  transition: transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.glass-card:hover {
  border-color: var(--card-hover-border);
}

/* Marquee Scroller */
.marquee-bar {
  background: var(--marquee-bg);
  border-bottom: 1px solid var(--border-color);
  height: 38px;
  /* Fixed height for consistent vertical centering */
  overflow: hidden;
  position: relative;
  z-index: 10;
  backdrop-filter: blur(8px);
  width: 100%;
}

.marquee-content {
  position: absolute;
  left: 100%;
  top: 0;
  height: 100%;
  line-height: 38px;
  /* Vertically center the text */
  white-space: nowrap;
  animation: marquee-scroll 25s linear infinite;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  color: var(--marquee-content-color);
}

.marquee-content span {
  margin: 0 25px;
}

.marquee-content strong {
  color: var(--marquee-content-strong);
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

/* Header Section */
.main-header {
  background: var(--header-bg);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-color);
  position: sticky;
  top: 0;
  z-index: 99;
}

.header-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo-section {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pulse-dot {
  width: 10px;
  height: 10px;
  background-color: var(--color-green);
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 10px var(--color-green);
  animation: pulse-indicator 1.5s infinite;
}

@keyframes pulse-indicator {
  0% {
    transform: scale(0.9);
    opacity: 0.6;
  }

  50% {
    transform: scale(1.2);
    opacity: 1;
    box-shadow: 0 0 16px var(--color-green);
  }

  100% {
    transform: scale(0.9);
    opacity: 0.6;
  }
}

.logo-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02rem;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
}

.accent-text {
  color: var(--color-cyan);
  text-shadow: 0 0 10px rgba(0, 240, 255, 0.3);
}

.premium-badge {
  font-size: 0.65rem;
  background: linear-gradient(135deg, var(--color-pink), var(--color-purple));
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 0.05rem;
}

.system-time-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.time-label {
  font-size: 0.6rem;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.1rem;
}

.time-value {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--text-primary);
}

/* Header buttons & form UI components */
.glow-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--glow-btn-bg);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  font-weight: 600;
  font-size: 0.85rem;
  padding: 10px 18px;
  border-radius: 8px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.glow-btn:hover {
  background: var(--color-cyan);
  color: var(--glow-btn-hover-color);
  border-color: var(--color-cyan);
  box-shadow: var(--shadow-cyan);
}

/* Dashboard Content Grid */
.dashboard-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 30px 24px;
  /* display: grid; */
  gap: 32px;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}

.section-header h2 {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.01rem;
}

.sub-heading {
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.live-pulse-container {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(57, 255, 20, 0.08);
  border: 1px solid rgba(57, 255, 20, 0.2);
  color: var(--color-green);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02rem;
}

.live-indicator {
  width: 6px;
  height: 6px;
  background-color: var(--color-green);
  border-radius: 50%;
  animation: pulse-indicator 1.2s infinite;
}

/* Live Result Cards Grid */
.results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

.live-result-card {
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: var(--market-bg) !important;
  border: 1px solid var(--market-divider) !important;
  animation: none !important;
}

.live-result-card:hover {
  transform: none;
  box-shadow: 0 6px 24px rgba(var(--market-accent-rgb), 0.25);
  border-color: var(--market-accent-color);
}

.live-result-card::before {
  display: none;
}

/* Light Mode Market Themes */
.live-result-card.desawar-card {
  --market-bg: #eef5fc;
  --market-title-color: #1a365d;
  --market-accent-color: #3b82f6;
  --market-divider: #dbeafe;
}

.live-result-card.taj-card {
  --market-bg: #fffbf0;
  --market-title-color: #7c2d12;
  --market-accent-color: #f59e0b;
  --market-divider: #fef3c7;
}

.live-result-card.delhibazaar-card {
  --market-bg: #faf5ff;
  --market-title-color: #581c87;
  --market-accent-color: #a855f7;
  --market-divider: #f3e8ff;
}

.live-result-card.faridabad-card {
  --market-bg: #f0fdf4;
  --market-title-color: #14532d;
  --market-accent-color: #22c55e;
  --market-divider: #dcfce7;
}

.live-result-card.ghaziabad-card {
  --market-bg: #f8fafc;
  --market-title-color: #0f172a;
  --market-accent-color: #64748b;
  --market-divider: #e2e8f0;
}

.live-result-card.gali-card {
  --market-bg: #ecfeff;
  --market-title-color: #164e63;
  --market-accent-color: #06b6d4;
  --market-divider: #cffafe;
}

/* Dark Mode Market Themes */
body.dark-theme .live-result-card.desawar-card {
  --market-bg: rgba(59, 130, 246, 0.08);
  --market-title-color: #93c5fd;
  --market-accent-color: #3b82f6;
  --market-divider: rgba(59, 130, 246, 0.15);
}

body.dark-theme .live-result-card.taj-card {
  --market-bg: rgba(245, 158, 11, 0.08);
  --market-title-color: #fde047;
  --market-accent-color: #f59e0b;
  --market-divider: rgba(245, 158, 11, 0.15);
}

body.dark-theme .live-result-card.delhibazaar-card {
  --market-bg: rgba(168, 85, 247, 0.08);
  --market-title-color: #f5d0fe;
  --market-accent-color: #a855f7;
  --market-divider: rgba(168, 85, 247, 0.15);
}

body.dark-theme .live-result-card.faridabad-card {
  --market-bg: rgba(236, 72, 153, 0.08);
  --market-title-color: #fbcfe8;
  --market-accent-color: #ec4899;
  --market-divider: rgba(236, 72, 153, 0.15);
}

body.dark-theme .live-result-card.ghaziabad-card {
  --market-bg: rgba(34, 197, 94, 0.08);
  --market-title-color: #86efac;
  --market-accent-color: #22c55e;
  --market-divider: rgba(34, 197, 94, 0.15);
}

body.dark-theme .live-result-card.gali-card {
  --market-bg: rgba(6, 182, 212, 0.08);
  --market-title-color: #67e8f9;
  --market-accent-color: #06b6d4;
  --market-divider: rgba(6, 182, 212, 0.15);
}

.live-result-card.is-live {
  border-color: var(--market-accent-color) !important;
  box-shadow: 0 0 15px rgba(var(--market-accent-rgb), 0.3);
  animation: none !important;
}

@keyframes live-card-border-glow {
  0% {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03), 0 0 5px rgba(255, 255, 255, 0.05);
  }

  100% {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03), 0 0 15px var(--market-accent-color);
  }
}

@keyframes live-card-border-glow-subtle {
  0% {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02), 0 0 2px rgba(255, 255, 255, 0.02);
  }

  100% {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03), 0 0 8px rgba(var(--market-accent-rgb), 0.3);
  }
}

.card-header-new {
  width: 100%;
  margin-bottom: 6px;
}

.market-title-new {
  font-family: 'Inter', sans-serif;
  font-size: 1.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  color: #103d60;
  /* Deep navy blue matching screenshot */
  margin-bottom: 2px;
}

body.dark-theme .market-title-new {
  color: #ffffff;
  /* White in dark mode */
}

.market-subtitle-new {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #708090;
  /* Cool grey/slate */
  letter-spacing: 0.1rem;
}

body.dark-theme .market-subtitle-new {
  color: #94a3b8;
}

.card-divider-new {
  width: 100%;
  border: 0;
  height: 1px;
  background: #cbd5e1;
  /* Neutral divider light mode */
  margin: 10px 0 14px 0;
}

body.dark-theme .card-divider-new {
  background: rgba(255, 255, 255, 0.1);
}

.card-time-section-new {
  width: 100%;
  margin-bottom: 24px;
}

.market-time-new {
  font-family: 'Inter', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #000000;
  /* Pure black text */
  margin-bottom: 4px;
  text-transform: uppercase;
}

body.dark-theme .market-time-new {
  color: #ffffff;
}

.market-sublabel-new {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: #708090;
  /* Cool grey/slate */
  text-transform: uppercase;
}

body.dark-theme .market-sublabel-new {
  color: #94a3b8;
}

.card-results-new {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 36px;
  width: 100%;
  padding-top: 10px;
}

.result-col-new {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}

.old-result-col-new {
  align-items: center;
  text-align: center;
}

.new-result-col-new {
  align-items: center;
  text-align: center;
}

.result-label-new {
  font-size: 0.7rem;
  font-weight: 600;
  color: #8899aa;
  /* Light slate grey */
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  white-space: nowrap;
}

body.dark-theme .result-label-new {
  color: #94a3b8;
}

.result-value-new {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.old-value-new {
  color: #111111;
  /* Near black */
}

body.dark-theme .old-value-new {
  color: #f8fafc;
}

.new-value-new {
  color: #168039;
  /* Precise green */
}

body.dark-theme .new-value-new {
  color: #4ade80;
  /* Bright Neon Green */
}

.result-separator-new {
  font-size: 1.5rem;
  font-weight: 500;
  color: #8899aa;
  padding: 0;
  margin: 0;
  line-height: 1;
}

/* Confetti trigger animation style */
.result-update-flash {
  animation: none !important;
}

@keyframes number-flash-highlight {
  0% {
    transform: scale(0.9);
    opacity: 0.4;
    filter: brightness(3);
  }

  50% {
    transform: scale(1.15);
    opacity: 1;
    filter: brightness(1.8);
  }

  100% {
    transform: scale(1);
    filter: brightness(1);
  }
}

.timer-box {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-muted);
}

.timer-box.upcoming {
  color: var(--color-gold);
}

.timer-text {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02rem;
}

/* Loading skeleton styles */
.loading-spinner-container {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 0;
  color: var(--text-secondary);
  gap: 12px;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid var(--border-color);
  border-top-color: var(--color-cyan);
  border-radius: 50%;
  animation: spin 1s infinite linear;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

/* Interactive Tools Grids */
.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 24px;
  padding-top: 30px;
}

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

.tool-card {
  padding: 24px;
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.card-header h3 {
  font-size: 1.2rem;
  font-weight: 700;
}

.badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  letter-spacing: 0.05rem;
}

.badge-cyan {
  background: rgba(0, 240, 255, 0.1);
  color: var(--color-cyan);
  border: 1px solid rgba(0, 240, 255, 0.2);
}

.badge-green {
  background: rgba(57, 255, 20, 0.1);
  color: var(--color-green);
  border: 1px solid rgba(57, 255, 20, 0.2);
}

.tool-desc {
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin-bottom: 24px;
}

/* Lucky Number Generator displays */
.generator-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.custom-select {
  background: var(--panel-bg-solid);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  font-size: 0.85rem;
  font-weight: 500;
  padding: 10px 16px;
  border-radius: 8px;
  width: 100%;
  outline: none;
  cursor: pointer;
  transition: border-color var(--transition-fast);
}

.custom-select:focus {
  border-color: var(--color-cyan);
}

.spinner-display-container {
  display: flex;
  gap: 12px;
  margin: 10px 0;
}

.spinner-digit {
  font-family: 'Rajdhani', sans-serif;
  font-size: 3.5rem;
  font-weight: 700;
  background: var(--digit-bg);
  border: 1px solid var(--border-color);
  width: 70px;
  height: 85px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  box-shadow: var(--digit-shadow);
  color: var(--color-cyan);
  text-shadow: var(--digit-text-shadow);
}

.spin-action-btn {
  background: linear-gradient(135deg, var(--color-cyan), var(--color-pink));
  border: none;
  color: #000;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  letter-spacing: 0.05rem;
  width: 100%;
  transition: transform var(--transition-fast), filter var(--transition-fast);
}

.spin-action-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
}

.spin-action-btn:active {
  transform: translateY(0);
}

/* Slot machine digit roll effect */
.digit-roll {
  animation: digit-spin-anim 0.15s infinite linear;
}

@keyframes digit-spin-anim {
  0% {
    transform: translateY(-5px);
    opacity: 0.8;
  }

  50% {
    opacity: 0.2;
  }

  100% {
    transform: translateY(5px);
    opacity: 0.8;
  }
}

/* Guesser / Predictions Layout */
.prediction-details {
  background: var(--details-bg);
  border: 1px solid var(--details-border);
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 20px;
}

.prediction-row {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
}

.pred-box {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.pred-label {
  font-size: 0.65rem;
  color: var(--text-secondary);
  font-weight: 600;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}

.pred-val {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color-gold);
}

.haruf-row {
  display: flex;
  gap: 12px;
  font-size: 0.8rem;
  border-top: 1px solid var(--details-border);
  padding-top: 12px;
}

.haruf-badge {
  background: var(--haruf-bg);
  padding: 4px 10px;
  border-radius: 4px;
}

.haruf-badge strong {
  color: var(--color-green);
}

.guesser-board h4 {
  font-size: 0.85rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--text-secondary);
}

.guesser-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.guesser-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--guesser-item-bg);
  padding: 8px 14px;
  border-radius: 8px;
  border-left: 2px solid var(--color-pink);
  font-size: 0.75rem;
}

.guesser-info {
  display: flex;
  flex-direction: column;
}

.guesser-name {
  font-weight: 600;
  color: var(--text-primary);
}

.guesser-tips {
  color: var(--text-muted);
}

.guesser-vote-box {
  display: flex;
  align-items: center;
  gap: 8px;
}

.vote-count {
  font-weight: 700;
  color: var(--color-cyan);
}

.upvote-btn {
  background: var(--vote-btn-bg);
  border: none;
  color: var(--text-primary);
  width: 24px;
  height: 24px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.upvote-btn:hover {
  background: var(--color-green);
  color: #000;
}

/* Charts Record Section */
.charts-section {
  width: 100%;
  padding-top: 20px;
}

.chart-filters {
  display: flex;
  gap: 12px;
}

.filter-select {
  width: 200px;
}

.chart-container {
  padding: 24px;
  overflow: hidden;
}

/* Scrolling Overflows and Fading using soft-edge-content-fade */
.scroll-wrapper-outer {
  position: relative;
  width: 100%;
}

.table-scroll-container {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
}

/* Apply scroll-fade mask only on the right edge so sticky left Date column is never masked */
.scroll-fade-container {
  -webkit-mask-image: linear-gradient(to right, black 0%, black calc(100% - 15px), transparent 100%);
  mask-image: linear-gradient(to right, black 0%, black calc(100% - 15px), transparent 100%);
}

.results-table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.85rem;
}

.results-table th {
  background: var(--table-th-bg);
  color: var(--text-secondary);
  font-weight: 600;
  padding: 12px 18px;
  border-bottom: 2px solid var(--border-color);
  font-size: 0.75rem;
  letter-spacing: 0.03rem;
  text-transform: uppercase;
}

.results-table td {
  padding: 10px 18px;
  border-bottom: 1px solid var(--table-tr-border);
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.15rem;
  font-weight: 500;
}

.results-table tr:hover {
  background: var(--results-table-hover);
}

.results-table tr td:first-child,
.results-table tr th:first-child {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.results-table tr td:not(:first-child) {
  text-align: center;
}

.results-table tr th:not(:first-child) {
  text-align: center;
}

.results-table td.result-cell-declared {
  font-weight: 700;
  color: #d97706;
}

body.dark-theme .results-table td.result-cell-declared {
  color: #fef08a;
  text-shadow: 0 0 8px rgba(254, 240, 138, 0.45);
}

.results-table td.result-cell-pending {
  color: var(--text-muted);
  opacity: 0.65;
}

/* Table row class (content-visibility removed to prevent sticky-col GPU tile flicker on mobile) */
.table-row-deferred {
  contain: none;
}

.table-legend {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 14px;
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* SEO Info Section */
.seo-info-section {
  border-top: 1px solid var(--border-color);
  padding-top: 30px;
}

.seo-content-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.seo-card h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.seo-card p,
.seo-card li {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.schedule-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.schedule-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.88rem;
  border-radius: 6px;
  transition: background 0.2s ease;
}

body:not(.dark-theme) .schedule-list li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.schedule-list li:hover {
  background: rgba(255, 255, 255, 0.03);
}

body:not(.dark-theme) .schedule-list li:hover {
  background: rgba(0, 0, 0, 0.02);
}

.schedule-list li strong {
  color: var(--color-cyan);
  font-weight: 700;
}

body:not(.dark-theme) .schedule-list li strong {
  color: #0284c7;
}

.warning-text {
  color: var(--text-muted) !important;
  border-left: 2px solid var(--color-pink);
  padding-left: 12px;
  font-style: italic;
}

/* Footer styling */
.main-footer {
  border-top: 1px solid var(--border-color);
  background: var(--footer-bg);
  padding: 24px 24px;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 40px;
  text-align: center;
}

.footer-container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-links {
  display: flex;
  gap: 20px;
}

.footer-links a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.footer-links a:hover {
  color: var(--color-cyan);
}

/* Sidebar Drawer Simulation Settings */
.admin-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 420px;
  max-width: 100vw;
  height: 100vh;
  background: var(--panel-bg-solid);
  border-left: 1px solid var(--border-color);
  box-shadow: var(--drawer-shadow);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform var(--transition-normal);
}

.admin-drawer.open {
  transform: translateX(0);
}

.drawer-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.drawer-header h3 {
  font-size: 1.15rem;
  font-weight: 700;
}

.close-drawer-btn {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  transition: all var(--transition-fast);
}

.close-drawer-btn:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
}

.drawer-body {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.drawer-desc {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.admin-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.form-input {
  background: var(--input-bg);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 0.85rem;
  outline: none;
  transition: all var(--transition-fast);
}

.form-input:focus {
  border-color: var(--color-cyan);
  box-shadow: 0 0 10px rgba(0, 240, 255, 0.15);
}

.text-input {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
}

.input-help {
  font-size: 0.65rem;
  color: var(--text-muted);
}

.submit-action-btn {
  background: linear-gradient(135deg, var(--color-pink), var(--color-purple));
  color: var(--text-primary);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.05rem;
  cursor: pointer;
  transition: filter var(--transition-fast), transform var(--transition-fast);
  margin-top: 8px;
}

.submit-action-btn:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

.drawer-actions {
  border-top: 1px solid var(--border-color);
  padding-top: 20px;
}

.secondary-btn {
  background: transparent;
  border: 1px dashed var(--color-pink);
  color: var(--color-pink);
  width: 100%;
  padding: 10px;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.secondary-btn:hover {
  background: rgba(255, 0, 127, 0.08);
}

.simulation-status-card {
  background: rgba(255, 170, 0, 0.04);
  border: 1px solid rgba(255, 170, 0, 0.15);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 0.75rem;
  color: var(--text-secondary);
}

.simulation-status-card h5 {
  color: var(--color-gold);
  font-weight: 700;
  margin-bottom: 4px;
}

/* Toast notifications */
.live-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: var(--toast-bg);
  border: 1px solid var(--color-green);
  border-radius: 12px;
  padding: 14px 20px;
  box-shadow: var(--toast-shadow);
  z-index: 2000;
  transform: translateY(150px);
  opacity: 0;
  transition: transform var(--transition-normal), opacity var(--transition-normal);
}

.live-toast.show {
  transform: translateY(0);
  opacity: 1;
}

.toast-content {
  display: flex;
  align-items: center;
  gap: 14px;
}

.toast-bell {
  color: var(--color-green);
  animation: bell-swing 1s infinite ease-in-out alternate;
}

@keyframes bell-swing {
  0% {
    transform: rotate(-15deg);
  }

  100% {
    transform: rotate(15deg);
  }
}

.toast-text-box {
  display: flex;
  flex-direction: column;
}

.toast-title {
  font-size: 0.65rem;
  font-weight: 800;
  color: var(--color-green);
  letter-spacing: 0.08rem;
}

.toast-body {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--toast-text);
}

/* Canvas overlay */
#confetti-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1001;
  pointer-events: none;
}

/* Adaptive mobile layout overrides */
@media (max-width: 768px) {
  .header-container {
    padding: 12px 14px;
    flex-wrap: wrap;
    gap: 10px;
  }

  .logo-title {
    font-size: 1.25rem;
  }

  .system-time-box {
    order: 3;
    width: 100%;
    align-items: flex-start;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 8px;
    margin-top: 4px;
  }

  .system-time-box .time-value {
    font-size: 0.95rem;
  }

  .dashboard-container {
    padding: 16px 12px;
    gap: 20px;
  }

  .section-header h2 {
    font-size: 1.2rem;
  }

  .results-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .live-result-card {
    padding: 18px 14px;
    border-radius: 18px;
  }

  .card-time-section-new {
    margin-bottom: 14px;
  }

  .market-title-new {
    font-size: 1.4rem;
  }

  .card-results-new {
    gap: 22px;
  }

  .result-value-new {
    font-size: 1.3rem;
  }

  .lucky-spin-card {
    padding: 18px 14px;
    border-radius: 18px;
  }

  .spinner-digit {
    width: 60px;
    height: 75px;
    font-size: 2.8rem;
  }

  .admin-drawer {
    width: 100%;
  }

  .seo-content-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .chart-filters {
    width: 100%;
    flex-direction: column;
  }

  .filter-select {
    width: 100%;
  }

  /* Enhanced Table Scrolling for Mobile with Sticky Date Column */
  .table-scroll-container,
  .scroll-fade-container {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    border-radius: 10px;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .results-table {
    min-width: 620px;
  }

  .results-table th {
    padding: 10px 8px;
    font-size: 0.72rem;
  }

  .results-table td {
    padding: 8px 8px;
    font-size: 1rem;
  }

  .results-table th.sticky-col,
  .results-table td.sticky-col,
  .results-table tr th:first-child,
  .results-table tr td:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    background: var(--panel-bg-solid, #0d1020);
    box-shadow: 2px 0 6px rgba(0, 0, 0, 0.25);
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  body:not(.dark-theme) .results-table th.sticky-col,
  body:not(.dark-theme) .results-table td.sticky-col,
  body:not(.dark-theme) .results-table tr th:first-child,
  body:not(.dark-theme) .results-table tr td:first-child {
    background: #f8fafc;
    box-shadow: 2px 0 6px rgba(0, 0, 0, 0.08);
  }
}

@media (max-width: 480px) {
  .header-actions {
    gap: 6px;
  }

  .glow-btn {
    padding: 6px 10px;
    font-size: 0.75rem;
  }

  .dashboard-container {
    padding: 12px 10px;
    gap: 16px;
  }

  .live-result-card {
    padding: 16px 12px;
  }

  .market-title-new {
    font-size: 1.25rem;
  }

  .card-results-new {
    gap: 14px;
  }

  .result-label-new {
    font-size: 0.65rem;
  }

  .lucky-spin-card {
    padding: 14px 10px;
    border-radius: 16px;
  }

  .spin-main-title {
    font-size: 1.55rem;
  }

  :root {
    --wheel-size: 295px;
  }

  .casino-wheel-stage {
    padding: 6px 0;
    margin: 0.6rem auto 0.3rem;
    transform: none !important;
  }

  .result-bracket-box {
    padding: 6px 14px;
    gap: 10px;
  }

  .tagline-text {
    font-size: 1.1rem;
  }

  .mult-val {
    font-size: 1.25rem;
    padding: 2px 12px;
  }

  .schedule-list li {
    font-size: 0.84rem;
    padding: 7px 4px;
  }

  .chart-container {
    padding: 14px 10px;
  }
}

.color-box {
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform 0.2s, border 0.2s, box-shadow 0.2s;
}

.color-box:hover {
  transform: scale(1.1);
}

.color-box.selected {
  border: 2px solid #fff;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
  transform: scale(1.1);
}

.draggable-row.dragging {
  opacity: 0.4;
}

.draggable-row.over {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* ========================================================
   CASINO JACKPOT SPIN WHEEL STYLING (MATCHING SCREENSHOT)
   ======================================================== */

.casino-wheel-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.2rem auto 0.8rem;
  padding: 8px 0;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  transform: none !important;
}

/* Radiant warm flare / aura behind the casino wheel */
.casino-wheel-stage::before {
  content: '';
  position: absolute;
  width: calc(var(--wheel-size) + 60px);
  height: calc(var(--wheel-size) + 60px);
  max-width: 95vw;
  max-height: 95vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(239, 68, 68, 0.45) 0%, rgba(245, 158, 11, 0.3) 40%, rgba(0, 0, 0, 0) 72%);
  filter: blur(20px);
  z-index: 1;
  pointer-events: none;
}

.casino-wheel-stage::after {
  content: '';
  position: absolute;
  width: calc(var(--wheel-size) + 30px);
  height: calc(var(--wheel-size) + 30px);
  max-width: 90vw;
  max-height: 90vw;
  border-radius: 50%;
  background: conic-gradient(transparent 0deg,
      rgba(254, 240, 138, 0.15) 15deg,
      transparent 30deg,
      rgba(239, 68, 68, 0.18) 45deg,
      transparent 60deg,
      rgba(254, 240, 138, 0.15) 75deg,
      transparent 90deg,
      rgba(239, 68, 68, 0.18) 105deg,
      transparent 120deg,
      rgba(254, 240, 138, 0.15) 135deg,
      transparent 150deg,
      rgba(239, 68, 68, 0.18) 165deg,
      transparent 180deg,
      rgba(254, 240, 138, 0.15) 195deg,
      transparent 210deg,
      rgba(239, 68, 68, 0.18) 225deg,
      transparent 240deg,
      rgba(254, 240, 138, 0.15) 255deg,
      transparent 270deg,
      rgba(239, 68, 68, 0.18) 285deg,
      transparent 300deg,
      rgba(254, 240, 138, 0.15) 315deg,
      transparent 330deg,
      rgba(239, 68, 68, 0.18) 345deg,
      transparent 360deg);
  filter: blur(8px);
  z-index: 1;
  pointer-events: none;
}

/* Outer Marquee Ring with Casino Bulbs */
.casino-wheel-housing {
  position: relative;
  width: var(--wheel-size);
  height: var(--wheel-size);
  max-width: 100%;
  border-radius: 50%;
  background: radial-gradient(circle, #851818 0%, #520d0d 80%, #290404 100%);
  border: 5px solid #d97706;
  box-shadow:
    0 0 0 2px #78350f,
    0 0 25px rgba(245, 158, 11, 0.5),
    0 0 50px rgba(220, 38, 38, 0.45),
    inset 0 0 15px rgba(0, 0, 0, 0.8),
    inset 0 0 0 2px #fef08a;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

/* Light bulbs around the rim */
.marquee-bulb {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #ffffff 0%, #fef08a 45%, #f59e0b 100%);
  box-shadow:
    0 0 5px #fde047,
    0 0 10px rgba(251, 191, 36, 0.95),
    0 0 2px #fff;
  transform: translate(-50%, -50%);
  transform-origin: center center;
  z-index: 5;
  animation: bulbTwinkle 2s infinite ease-in-out;
}

.marquee-bulb:nth-child(even) {
  background: radial-gradient(circle at 35% 35%, #fffbeb 0%, #fed7aa 45%, #ea580c 100%);
  box-shadow:
    0 0 4px #fb923c,
    0 0 8px rgba(234, 88, 12, 0.85);
  animation-delay: 1s;
}

@keyframes bulbTwinkle {

  0%,
  100% {
    opacity: 0.92;
    filter: drop-shadow(0 0 4px #fde047);
  }

  50% {
    opacity: 1;
    filter: drop-shadow(0 0 10px #facc15) drop-shadow(0 0 3px #fff);
  }
}

/* Inner Rotating Wheel Viewport */
.wheel-rotor-wrap {
  position: relative;
  width: 80%;
  height: 80%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  box-shadow:
    0 0 0 3px #b45309,
    0 0 0 5px #fef08a,
    inset 0 0 20px rgba(0, 0, 0, 0.6);
}

#spin-wheel {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: relative;
}

/* Golden Flapper Pointer at 12 o'clock */
.casino-pointer {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 25;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.8));
  pointer-events: none;
}

.casino-pointer svg {
  display: block;
  width: 30px;
  height: 38px;
}

/* Center Medallion / Golden Hub */
.casino-center-hub {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18%;
  height: 18%;
  min-width: 44px;
  min-height: 44px;
  max-width: 58px;
  max-height: 58px;
  border-radius: 50%;
  background: conic-gradient(#ca8a04 0deg,
      #fef08a 45deg,
      #a16207 90deg,
      #fef08a 135deg,
      #ca8a04 180deg,
      #fef08a 225deg,
      #854d0e 270deg,
      #fef08a 315deg,
      #ca8a04 360deg);
  border: 2px solid #78350f;
  box-shadow:
    0 0 0 2px #fef08a,
    0 0 0 4px #b45309,
    0 4px 12px rgba(0, 0, 0, 0.8),
    inset 0 0 6px rgba(0, 0, 0, 0.6);
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.casino-center-hub-inner {
  width: 52%;
  height: 52%;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fffbeb 0%, #fef08a 30%, #ca8a04 70%, #713f12 100%);
  border: 1.5px solid #fef08a;
  box-shadow: inset 0 1px 3px rgba(255, 255, 255, 0.9), 0 2px 4px rgba(0, 0, 0, 0.7);
}

/* ========================================================
   LUCKY SPIN 3-COLUMN LAYOUT (TIMING - WHEEL - TODAY RESULT)
   ======================================================== */

.lucky-spin-section {
  margin-top: 3.5rem;
  margin-bottom: 2.5rem;
  width: 100%;
}

.lucky-spin-card {
  padding: 28px 24px;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(20, 16, 28, 0.92) 0%, rgba(12, 10, 18, 0.98) 100%);
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.7),
    0 0 30px rgba(239, 68, 68, 0.15),
    inset 0 1px 0 rgba(254, 240, 138, 0.25);
}

/* Top ambient highlight inside card */
.lucky-spin-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #f59e0b, #fef08a, #f59e0b, transparent);
  pointer-events: none;
}

.lucky-spin-layout {
  display: grid;
  grid-template-columns: 270px 1fr 290px;
  gap: 24px;
  align-items: stretch;
}

/* Side Panels: Timing & Today Result */
.spin-side-panel {
  background: rgba(28, 22, 38, 0.75);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 18px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.spin-side-panel:hover {
  border-color: rgba(245, 158, 11, 0.5);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5), 0 0 20px rgba(245, 158, 11, 0.15);
}

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(245, 158, 11, 0.22);
}

.panel-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.panel-icon {
  font-size: 1.3rem;
  filter: drop-shadow(0 0 6px rgba(254, 240, 138, 0.5));
}

.panel-title {
  font-size: 1.25rem;
  font-weight: 800;
  font-family: 'Rajdhani', -apple-system, sans-serif;
  letter-spacing: 0.8px;
  color: #fef08a;
  text-shadow: 0 0 10px rgba(254, 240, 138, 0.35);
  margin: 0;
  text-transform: uppercase;
}

.panel-sub-badge {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 12px;
  background: rgba(245, 158, 11, 0.14);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
  letter-spacing: 0.5px;
}

/* Timing slots list */
.timing-slots-list,
.today-results-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.timing-slot-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.timing-slot-item:hover {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.3);
  transform: translateX(4px);
}

.slot-time-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.slot-index-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-size: 0.82rem;
  font-weight: 800;
  color: #78350f;
  background: linear-gradient(135deg, #fef08a 0%, #eab308 100%);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.slot-time-val {
  font-size: 1.05rem;
  font-weight: 800;
  color: #f8fafc;
  font-family: 'Rajdhani', monospace;
  letter-spacing: 0.5px;
}

/* Active Slot Indicator */
.timing-slot-item.active-slot {
  background: linear-gradient(90deg, rgba(234, 179, 8, 0.2) 0%, rgba(220, 38, 38, 0.15) 100%);
  border-color: #f59e0b;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.35), inset 0 0 10px rgba(245, 158, 11, 0.15);
}

.slot-status-pill {
  font-size: 0.72rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.slot-status-pill.status-next {
  background: rgba(34, 197, 94, 0.2);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.4);
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.4);
}

.slot-status-pill.status-live {
  background: rgba(239, 68, 68, 0.25);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.5);
  animation: none !important;
}

@keyframes pulseLiveBadge {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.75;
    transform: scale(0.96);
  }
}

/* Today Result List Items */
.result-slot-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.25s ease;
}

.result-slot-item:hover {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.3);
}

.result-slot-time {
  font-size: 1rem;
  font-weight: 700;
  color: #e2e8f0;
  font-family: 'Rajdhani', monospace;
}

.result-slot-bracket {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 64px;
  padding: 3px 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.45);
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  font-family: 'Impact', 'Rajdhani', -apple-system, sans-serif;
  font-size: 1.15rem;
  letter-spacing: 1px;
  color: #94a3b8;
  transition: all 0.3s ease;
}

.result-slot-bracket.declared {
  background: linear-gradient(135deg, rgba(69, 10, 10, 0.85) 0%, rgba(20, 10, 10, 0.95) 100%);
  border-color: #f59e0b;
  color: #fef08a;
  text-shadow: 0 0 10px rgba(254, 240, 138, 0.7);
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.35);
}

.result-bracket-char {
  color: #b45309;
  font-size: 1.1rem;
  font-weight: 900;
}

.result-slot-bracket.declared .result-bracket-char {
  color: #f59e0b;
}

/* Center Panel: Wheel & Live Information */
.spin-center-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
}

.spin-center-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.5rem;
  text-align: center;
}

.spin-main-title {
  font-size: 2rem;
  font-weight: 900;
  font-family: 'Rajdhani', -apple-system, sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 6px;
  background: linear-gradient(180deg, #ffffff 0%, #fef08a 55%, #eab308 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 10px rgba(245, 158, 11, 0.4));
}

.winning-no-banner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 18px;
  border-radius: 20px;
  background: #000;
  border: 1.5px solid rgba(245, 158, 11, 0.45);
  box-shadow: 0 0 18px rgba(239, 68, 68, 0.25), inset 0 0 8px rgba(0, 0, 0, 0.5);
  margin-bottom: 10px;
}

.wn-tag {
  font-size: 0.85rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fca5a5;
}

.wn-num-bracket {
  font-family: 'Impact', 'Rajdhani', sans-serif;
  font-size: 1.35rem;
  font-weight: 900;
  color: #fef08a;
  text-shadow: 0 0 10px rgba(254, 240, 138, 0.8);
  letter-spacing: 1.5px;
}

.wn-time-tag {
  font-size: 0.75rem;
  font-weight: 700;
  color: #fb923c;
  background: rgba(251, 146, 60, 0.15);
  border: 1px solid rgba(251, 146, 60, 0.4);
  border-radius: 10px;
  padding: 2px 8px;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.wn-time-tag:empty {
  display: none;
}

.spin-timer-badge-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.spin-timer-display {
  font-size: 1.15rem;
  font-weight: 800;
  font-family: 'Rajdhani', monospace;
  color: #4ade80;
  text-shadow: 0 0 10px rgba(74, 222, 128, 0.4);
}

/* Result Row: Result [ Old XX | New XX ] */
.spin-result-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
}

.result-label-tag {
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #f59e0b;
  text-shadow: 0 0 8px rgba(245, 158, 11, 0.4);
}

.result-bracket-box {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(18, 12, 28, 0.9);
  border: 2px solid #b45309;
  border-radius: 14px;
  padding: 8px 24px;
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.25), inset 0 0 10px rgba(0, 0, 0, 0.6);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

/* Celebration Glow Animation */
@keyframes celebrationPulse {
  0% { transform: scale(1); box-shadow: 0 0 20px rgba(245, 158, 11, 0.25); }
  25% { transform: scale(1.08); box-shadow: 0 0 35px rgba(245, 158, 11, 0.9), 0 0 50px rgba(239, 68, 68, 0.6); border-color: #f59e0b; }
  50% { transform: scale(1.04); box-shadow: 0 0 45px rgba(254, 240, 138, 0.95), 0 0 60px rgba(245, 158, 11, 0.7); border-color: #fef08a; }
  75% { transform: scale(1.06); box-shadow: 0 0 35px rgba(245, 158, 11, 0.8), 0 0 50px rgba(239, 68, 68, 0.5); }
  100% { transform: scale(1); box-shadow: 0 0 20px rgba(245, 158, 11, 0.25); }
}

.result-bracket-box.celebrate-glow {
  animation: celebrationPulse 2.2s ease-in-out infinite alternate;
}

.bracket-item {
  font-size: 0.95rem;
  color: #cbd5e1;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.bracket-item strong {
  font-family: 'Impact', 'Rajdhani', sans-serif;
  font-size: 1.35rem;
  font-weight: 900;
  color: #fef08a;
  text-shadow: 0 0 10px rgba(254, 240, 138, 0.75);
}

.bracket-sep {
  color: #78350f;
  font-size: 1.3rem;
  font-weight: 900;
}

/* Footer Banner: Hindi Mantra & 10X multiplier */
.spin-footer-banner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}

.hindi-tagline-box {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 18px;
  background: linear-gradient(90deg, rgba(234, 179, 8, 0.08), rgba(220, 38, 38, 0.12), rgba(234, 179, 8, 0.08));
  border-radius: 20px;
  border: 1px solid rgba(245, 158, 11, 0.3);
  user-select: none;
}

.tagline-bracket {
  color: #d97706;
  font-size: 1.4rem;
  font-weight: 900;
}

.tagline-text {
  font-size: 1.3rem;
  font-weight: 900;
  color: #fef08a;
  text-shadow: 0 0 12px rgba(254, 240, 138, 0.6), 0 2px 4px #000;
  letter-spacing: 0.5px;
}

.multiplier-badge-box {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.mult-bracket {
  color: #d97706;
  font-size: 1.35rem;
  font-weight: 900;
}

.mult-val {
  font-family: 'Impact', 'Rajdhani', -apple-system, sans-serif;
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: 1.5px;
  padding: 3px 18px;
  border-radius: 8px;
  background: linear-gradient(135deg, #7f1d1d 0%, #450a0a 100%);
  border: 2px solid #eab308;
  color: #fef08a;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  text-shadow: 0 0 8px rgba(254, 240, 138, 0.7);
}

/* Light Mode Overrides for Lucky Spin */
body:not(.dark-theme) .lucky-spin-card {
  background: linear-gradient(145deg, #ffffff 0%, #fef3c7 100%);
  border-color: #d97706;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1), 0 0 30px rgba(245, 158, 11, 0.15);
}

body:not(.dark-theme) .spin-side-panel {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(217, 119, 6, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

body:not(.dark-theme) .panel-title {
  color: #92400e;
  text-shadow: none;
}

body:not(.dark-theme) .timing-slot-item,
body:not(.dark-theme) .result-slot-item {
  background: rgba(245, 158, 11, 0.05);
  border-color: rgba(217, 119, 6, 0.15);
}

body:not(.dark-theme) .slot-time-val,
body:not(.dark-theme) .result-slot-time {
  color: #1e293b;
}

body:not(.dark-theme) .spin-main-title {
  background: linear-gradient(180deg, #b45309 0%, #d97706 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body:not(.dark-theme) .result-bracket-box {
  background: #fffbeb;
  border-color: #d97706;
}

body:not(.dark-theme) .bracket-item {
  color: #475569;
}

body:not(.dark-theme) .bracket-item strong {
  color: #b45309;
  text-shadow: none;
}

body:not(.dark-theme) .tagline-text {
  color: #92400e;
  text-shadow: none;
}

/* Light Mode fine-tuning for Lucky Spin Bulbs and Aura */
body:not(.dark-theme) #spin-status-badge {
  background: #e0f2fe;
  color: #0369a1;
  border: 1px solid #7dd3fc;
}

body:not(.dark-theme) .casino-wheel-stage::before {
  opacity: 0.3;
  filter: blur(35px);
}

body:not(.dark-theme) .casino-wheel-stage::after {
  opacity: 0.15;
}

/* Responsive adjustments */
@media (max-width: 1050px) {
  .lucky-spin-layout {
    grid-template-columns: 240px 1fr 240px;
    gap: 16px;
  }
}

/* Mobile & Tablet: Place Wheel on top and Timing + Today Result full width */
@media (max-width: 900px) {
  .lucky-spin-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "center"
      "timing"
      "results" !important;
    gap: 20px !important;
  }

  .spin-center-panel {
    grid-area: center !important;
    width: 100% !important;
    padding: 0 4px !important;
  }

  .spin-timing-panel {
    grid-area: timing !important;
    width: 100% !important;
    padding: 20px 18px !important;
    box-sizing: border-box !important;
  }

  .spin-results-panel {
    grid-area: results !important;
    width: 100% !important;
    padding: 20px 18px !important;
    box-sizing: border-box !important;
  }

  :root {
    --wheel-size: 320px;
  }

  .casino-wheel-stage {
    padding: 8px 0;
    margin: 0.6rem auto 0.3rem;
    transform: none !important;
  }

  .spin-result-row {
    margin-top: 10px;
    gap: 4px;
  }

  .spin-footer-banner {
    margin-top: 10px;
    gap: 8px;
  }

  .timing-slot-item,
  .result-slot-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .slot-time-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
  }

  .slot-time-val,
  .result-slot-time {
    font-size: 1.05rem !important;
    white-space: nowrap !important;
  }

  .slot-status-pill {
    white-space: nowrap !important;
    font-size: 0.72rem !important;
    padding: 3px 8px !important;
  }

  .result-slot-bracket {
    min-width: 54px !important;
    padding: 3px 10px !important;
    font-size: 1.1rem !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 480px) {
  .lucky-spin-layout {
    gap: 16px !important;
  }

  .spin-timing-panel,
  .spin-results-panel {
    padding: 16px 14px !important;
    border-radius: 16px !important;
  }

  .panel-header {
    margin-bottom: 12px !important;
  }

  .panel-title {
    font-size: 1.05rem !important;
  }

  .panel-sub-badge {
    font-size: 0.68rem !important;
    padding: 2px 7px !important;
  }

  .timing-slot-item,
  .result-slot-item {
    padding: 10px 14px !important;
  }

  .slot-time-left {
    gap: 10px !important;
  }

  .slot-index-badge {
    width: 24px !important;
    height: 24px !important;
    font-size: 0.78rem !important;
  }

  .slot-time-val,
  .result-slot-time {
    font-size: 0.98rem !important;
  }

  .slot-status-pill {
    font-size: 0.68rem !important;
    padding: 2px 6px !important;
  }

  .result-slot-bracket {
    min-width: 50px !important;
    padding: 3px 8px !important;
    font-size: 1.05rem !important;
  }
}

/* 375px Mobile Optimization for Wheel & Lucky Spin */
@media (max-width: 380px) {
  :root {
    --wheel-size: 320px;
  }

  .lucky-spin-card {
    padding: 12px 8px !important;
  }

  .casino-wheel-stage {
    transform: none !important;
    margin: 0.35rem auto 0.2rem !important;
    padding: 4px 0 !important;
  }

  .casino-pointer {
    top: 4px !important;
  }

  .casino-pointer svg {
    width: 26px !important;
    height: 33px !important;
  }

  .marquee-bulb {
    width: 7.5px !important;
    height: 7.5px !important;
  }

  .spin-main-title {
    font-size: 1.35rem !important;
  }

  .winning-no-banner {
    padding: 3px 12px !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
  }

  .wn-tag {
    font-size: 0.74rem !important;
  }

  .wn-num-bracket {
    font-size: 1.15rem !important;
  }

  .wn-time-tag {
    font-size: 0.65rem !important;
    padding: 1px 6px !important;
  }

  .spin-timer-badge-row {
    gap: 8px !important;
  }

  .spin-timer-display {
    font-size: 0.98rem !important;
  }

  .spin-result-row {
    margin-top: 8px !important;
    gap: 4px !important;
  }

  .result-label-tag {
    font-size: 0.85rem !important;
  }

  .result-bracket-box {
    padding: 5px 14px !important;
    gap: 10px !important;
    border-radius: 10px !important;
  }

  .bracket-item {
    font-size: 0.85rem !important;
    gap: 6px !important;
  }

  .bracket-item strong {
    font-size: 1.15rem !important;
  }

  .spin-footer-banner {
    margin-top: 8px !important;
    gap: 6px !important;
  }

  .tagline-text {
    font-size: 0.9rem !important;
  }

  .mult-val {
    font-size: 1.05rem !important;
    padding: 1px 10px !important;
  }

  .spin-timing-panel,
  .spin-results-panel {
    padding: 12px 10px !important;
  }

  .timing-slot-item,
  .result-slot-item {
    padding: 8px 10px !important;
  }

  .slot-time-left {
    gap: 8px !important;
  }

  .slot-time-val,
  .result-slot-time {
    font-size: 0.92rem !important;
  }

  .slot-status-pill {
    font-size: 0.65rem !important;
    padding: 2px 5px !important;
  }

  .result-slot-bracket {
    min-width: 44px !important;
    padding: 2px 6px !important;
    font-size: 0.95rem !important;
  }
}