:root{
  --bg-1: #ffefdb;
  --stripe-1: #d62828;
  --gold: #ffcb47;
  --blue: #118ab2;
  --green: #06d6a0;
  --card-dark: #0f1720;
  --text-dark:#051018;
  --light:#ffffff;
  --glass: rgba(255,255,255,0.06);
  --radius:22px;
}

/* reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  background-image: url('background.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color:var(--text-dark);
  -webkit-font-smoothing:antialiased;
  overflow:hidden;
}

/* Decorative circus stripes on top */
.circus-top{
  position:absolute;left:0;right:0;top:0;height:110px;
  background:
    repeating-linear-gradient(90deg, var(--stripe-1) 0 60px, #ffd9c3 60px 120px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  z-index:5;
  display:flex;align-items:center;justify-content:center;
}
.circus-top h1{
  font-family: 'Bangers', 'Orbitron', sans-serif;
  font-size:44px;
  color:var(--light);
  text-shadow:0 6px 18px rgba(0,0,0,0.45);
  letter-spacing:1px;
}
.circus-top .banner-img{
  margin-top: 100px;
  max-height: 200%;
  width:auto;
  object-fit:contain;
}

.highlight {
  font-size: 1.4em;
  color: #d62828;
  margin: 0.2em 0;
  text-align: center;
}

/* Stage layout */
.stage {
  position:absolute;left:0;right:0;top:120px;bottom:0;padding:22px 40px;display:flex;
  align-items:stretch;justify-content:center;
}
.game-footer {
  margin-top: 24px;
  text-align: center;
  color: #ffffff;
  font-size: 1.25em;
  line-height: 1.4;
}

/* LEFT: Ticket */
.ticket {
  width:280px;flex:0 0 280px;background:linear-gradient(180deg,#fff6e6,#ffeac1);
  border-radius:18px;padding:16px;border:5px solid var(--stripe-1);
  box-shadow: 0 18px 50px rgba(0,0,0,0.25), inset 0 2px 0 rgba(255,255,255,0.6);
  display:flex;flex-direction:column;gap:36px;align-items:center;justify-content:flex-start;
}
.ticket h2{font-family:'Orbitron',sans-serif;font-size:18px;color:var(--text-dark);letter-spacing:1px;}
.ticket p{font-size:16px;text-align:center;color:rgba(5,16,24,0.85);line-height:1.25;font-weight:600;}
.ticket .btns{display:flex;gap:36px;margin-top:4px}
.ticket .badge {background:var(--gold);padding:8px 12px;border-radius:10px;font-weight:800;color:#1b1b1b;box-shadow:0 6px 18px rgba(0,0,0,0.18)}

/* CENTER STAGE */
.center-stage{
  flex:1 1 auto;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;padding:12px;
}
.palchi{
  width:100%;
  display:flex;gap:16px;align-items:center;justify-content:center;
  flex-wrap:wrap;
}
.palco {
  width:42%; min-width:320px; background:linear-gradient(180deg,#fff,#fff7e9);
  border-radius:24px;padding:14px;border:5px solid #000000; box-shadow: 0 24px 60px rgba(0,0,0,0.35);
  position:relative; overflow:visible; display:flex;flex-direction:column;gap:12px;align-items:center;
}
.palco .banner-top{
  position:absolute;left:14px;top:-32px;background:var(--stripe-1);color:var(--light);padding:6px 12px;border-radius:10px;font-weight:800;box-shadow:0 10px 20px rgba(0,0,0,0.3);
}

/* Wheel */
.wheel {
  width:220px;height:220px;border-radius:50%;background:conic-gradient(from 180deg,#ffd9c3 0 25%,#fff 25% 37%,#ffe6a7 37% 62%,#fff 62% 80%,#ffd9c3 80% 100%);
  display:flex;align-items:center;justify-content:center;border:8px solid #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.45), 0 6px 16px rgba(255,220,120,0.18) inset;
  position:relative;
}
.wheel .center{
  width:130px;height:130px;border-radius:50%;background:linear-gradient(180deg,#fffbf0,#fff1c9);
  display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid #ffd9c3;
  box-shadow:0 10px 30px rgba(0,0,0,0.35);
}
.wheel .center .count {font-family:'Orbitron',sans-serif;font-size:32px;color:var(--stripe-1);}

/* marquee bulbs */
.wheel:after{
  content:"";position:absolute;inset:-16px;border-radius:50%;background:
  radial-gradient(circle at 10% 10%, #ffd9c3 0 5px, transparent 6px),
  radial-gradient(circle at 30% 20%, #ffd9c3 0 5px, transparent 6px),
  radial-gradient(circle at 50% 10%, #ffd9c3 0 5px, transparent 6px),
  radial-gradient(circle at 70% 20%, #ffd9c3 0 5px, transparent 6px),
  radial-gradient(circle at 90% 10%, #ffd9c3 0 5px, transparent 6px);
  filter:drop-shadow(0 6px 20px rgba(0,0,0,0.35));
  pointer-events:none;
}

/* Ribbon */
.ribbon {width:95%;display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:6px;}
.ticket-chip {background:#fff7e6;padding:9px 12px;border-radius:12px;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,0.25);}
.last-bet {flex:1;margin-left:6px;padding:9px 12px;border-radius:12px;background:linear-gradient(90deg,#fff8f0,#fff1e0);font-weight:700;color:#b01b1b}

/* RIGHT column */
.right-col{width:300px;flex:0 0 300px;display:flex;flex-direction:column;gap:16px;align-items;}
.panel {
  background:linear-gradient(180deg,#fff9f0,#fff7e8);
  border-radius:18px;padding:12px;border:5px solid #ffd9c3;box-shadow:0 20px 50px rgba(0,0,0,0.25);
}
.panel h3{font-family:'Orbitron',sans-serif;margin-bottom:6px;color:#b01b1b;font-size:16px;}
.tx-list{max-height:260px;overflow:auto;padding-right:6px}
.tx-list .tx {display:flex;justify-content:space-between;padding:6px 6px;border-bottom:1px dashed rgba(0,0,0,0.06);font-weight:700}

/* Buttons */
.actions{display:flex;gap:10px;justify-content:center;margin-top:8px}
.ticket-btn {
  padding:12px 18px;border-radius:12px;background:linear-gradient(90deg,#fff5ea,#ffeecc);
  border:3px solid var(--stripe-1);font-weight:900;color:var(--text-dark);box-shadow:0 10px 25px rgba(0,0,0,0.3);
  cursor:pointer;transform:translateY(0);transition:transform .15s;
}
.ticket-btn:active{transform:translateY(3px)}

/* Winner overlay */
#winnerOverlay{
  position:fixed;left:0;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;z-index:80;opacity:0;transition:opacity .25s;
}
#winnerOverlay.show{opacity:1;pointer-events:auto}
.winner-box{background:linear-gradient(90deg,#fff7c9,#ffd9c3);padding:24px;border-radius:24px;border:6px solid #ffd9c3;box-shadow:0 30px 80px rgba(0,0,0,0.5);text-align:center}
.winner-box h2{font-family:'Orbitron',sans-serif;font-size:36px;color:#c02828;margin-bottom:6px}
.confetti-canvas{position:absolute;inset:0;pointer-events:none;}

/* ================= MOBILE ================= */
@media (max-width:1024px){
  body{overflow-y:auto;}
  .stage{padding:12px 8px;flex-direction:column;align-items:center;}
  .palchi{flex-direction:column;gap:24px;margin-top:700px;}
  .palco{width:90%;max-width:400px;min-width:auto;padding:14px;border-width:4px;}
  .wheel{width:200px;height:200px;border-width:6px;}
  .wheel .center{width:120px;height:120px;border-width:4px;}
  .wheel .center .count{font-size:72px;}
  .ribbon{width:100%;}
  .ticket-chip,.last-bet{padding:8px 12px;font-size:14px;}
  .palco .banner-top{font-size:14px;padding:6px 12px;top:-28px;}
  .ticket-btn{padding:10px 16px;font-size:14px;border-width:3px;}
  .ticket{display:none}
  .right-col{display:none}
}
