:root{
  --gold:#C9A84C;
  --gold-light:#E8D5A3;
  --navy:#0A1628;
  --navy-mid:#0D1F3C;
  --navy-light:#1A3055;
  --white:#F5F0E8;
}

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

body{
  background-color:var(--navy);
  color:var(--white);
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  line-height:1.7;
}

.max-w-screen-xl{max-width:1440px;}

/* Sparkle overlay */
.sparkle-overlay{
  background-image:
    radial-gradient(circle,rgba(232,213,163,0.15) 1px,transparent 1px),
    radial-gradient(circle,rgba(201,168,76,0.08) 1px,transparent 1px);
  background-size:60px 60px,120px 120px;
  background-position:0 0,30px 30px;
  animation:sparkleMove 20s linear infinite;
}

@keyframes sparkleMove{
  from{background-position:0 0,30px 30px;}
  to{background-position:60px 60px,90px 90px;}
}

/* Marquee */
.marquee-container{overflow:hidden;width:100%;}
.marquee-track{
  display:flex;
  width:max-content;
  animation:marqueeScroll 30s linear infinite;
}
.marquee-track:hover{animation-play-state:paused;}

@keyframes marqueeScroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* CTA Button hover */
.cta-btn:hover{
  box-shadow:0 0 20px rgba(201,168,76,0.5);
  transform:translateY(-1px);
}

/* Prose styling for Markdown pages */
.prose-vincobets{
  color:var(--white);
}

.prose-vincobets h2{
  font-size:1.75rem;
  font-weight:800;
  color:var(--gold);
  margin-top:2.5rem;
  margin-bottom:1rem;
  border-bottom:2px solid rgba(201,168,76,0.3);
  padding-bottom:0.5rem;
  line-height:1.3;
}

.prose-vincobets h3{
  font-size:1.25rem;
  font-weight:700;
  color:var(--gold-light);
  margin-top:2rem;
  margin-bottom:0.75rem;
  line-height:1.4;
}

.prose-vincobets p{
  margin-bottom:1.25rem;
  line-height:1.8;
  color:rgba(245,240,232,0.9);
}

.prose-vincobets a{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:3px;
}

.prose-vincobets a:hover{
  color:var(--gold-light);
}

.prose-vincobets ul{
  list-style:none;
  padding-left:0;
  margin-bottom:1.25rem;
}

.prose-vincobets ul li{
  padding-left:1.5rem;
  position:relative;
  margin-bottom:0.5rem;
  color:rgba(245,240,232,0.9);
}

.prose-vincobets ul li::before{
  content:"◆";
  position:absolute;
  left:0;
  color:var(--gold);
  font-size:0.65rem;
  top:0.35rem;
}

.prose-vincobets ol{
  padding-left:1.5rem;
  margin-bottom:1.25rem;
  counter-reset:list-counter;
  list-style:none;
}

.prose-vincobets ol li{
  counter-increment:list-counter;
  padding-left:0.5rem;
  margin-bottom:0.5rem;
  position:relative;
  color:rgba(245,240,232,0.9);
}

.prose-vincobets ol li::before{
  content:counter(list-counter) ".";
  color:var(--gold);
  font-weight:700;
  margin-right:0.5rem;
}

.prose-vincobets blockquote{
  border-left:4px solid var(--gold);
  padding-left:1.25rem;
  margin:1.5rem 0;
  color:var(--gold-light);
  font-style:italic;
  background:rgba(201,168,76,0.07);
  border-radius:0 0.5rem 0.5rem 0;
  padding:1rem 1.25rem;
}

.prose-vincobets img{
  max-width:100%;
  height:auto;
  border-radius:0.75rem;
  margin:1.5rem 0;
  border:1px solid rgba(201,168,76,0.3);
}

.prose-vincobets table{
  width:100%;
  max-width:100%;
  border-collapse:collapse;
  margin:1.5rem 0;
  font-size:0.875rem;
}

.prose-vincobets table th{
  background:var(--navy-light);
  color:var(--gold);
  padding:0.75rem 1rem;
  text-align:left;
  font-weight:700;
  border:1px solid rgba(201,168,76,0.2);
}

.prose-vincobets table td{
  padding:0.65rem 1rem;
  border:1px solid rgba(201,168,76,0.15);
  color:rgba(245,240,232,0.9);
  background:rgba(13,31,60,0.5);
}

.prose-vincobets table tr:nth-child(even) td{
  background:rgba(26,48,85,0.5);
}

.prose-vincobets div.overflow-x-auto{
  overflow-x:auto;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
}

/* Game cards */
.game-card{
  transition:transform 0.2s ease,box-shadow 0.2s ease;
}

.game-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(201,168,76,0.25);
}

/* Details/summary FAQ */
details summary::-webkit-details-marker{display:none;}
details[open] summary{
  color:var(--gold-light);
}
details summary::after{
  content:" +";
  float:right;
  font-size:1.25rem;
  line-height:1;
  color:var(--gold);
}
details[open] summary::after{
  content:" −";
}

/* Responsive helpers */
@media(max-width:640px){
  .prose-vincobets h2{font-size:1.4rem;}
  .prose-vincobets h3{font-size:1.1rem;}
}
