/* 1xBet Plinko Bonus Package — mobile-first PWA lander */

:root{
  --xb-navy:#061627; --xb-navy2:#0d2a4d; --line:#1e4677;
  --xb-blue:#2f9bff; --xb-blue-deep:#1272c4;
  --gold:#2f9bff; --gold-deep:#1272c4;
  --white:#f2f6fb; --lime:#9be24f;
  --green:#2ee66b; --red:#ff4d5e; --cyan:#3aa5ff;
  --tap:44px;
  --safe-t:env(safe-area-inset-top);
  --safe-b:env(safe-area-inset-bottom);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{
  height:100%;width:100%;overflow:hidden;overscroll-behavior:none;
  background:var(--xb-navy);color:var(--white);
  font-family:'Hind Siliguri','Noto Sans Bengali',system-ui,-apple-system,'Segoe UI',sans-serif;
  touch-action:manipulation;user-select:none;-webkit-user-select:none;
  -webkit-font-smoothing:antialiased;
}

#scene{position:fixed;inset:0;z-index:1;width:100%;height:100%;display:block}
#fx{position:fixed;inset:0;z-index:9;pointer-events:none;width:100%;height:100%}

.ui{
  position:fixed;inset:0;z-index:2;pointer-events:none;
  display:flex;flex-direction:column;
  padding-top:var(--safe-t);padding-bottom:var(--safe-b);
}

/* Header */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 4px}
.brand{display:flex;align-items:center;gap:8px}
.xblogo{
  font-family:Inter,Arial,sans-serif;font-weight:900;font-style:italic;
  font-size:clamp(18px,4.6vw,21px);letter-spacing:-.5px;color:#fff;
  background:linear-gradient(120deg,var(--xb-blue-deep),var(--xb-blue));
  padding:3px 12px 3px 9px;border-radius:6px;
  box-shadow:0 2px 10px rgba(47,155,255,.45);
}
.xblogo b{color:#cfe9ff;font-weight:900}
.soundtoggle{
  pointer-events:auto;background:none;border:none;color:var(--white);
  opacity:.7;font-size:20px;padding:6px;min-width:var(--tap);min-height:var(--tap);
}

.online{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:2px 14px 0;padding:4px 10px;
  font-size:11.5px;color:#cfe9ff;opacity:.9;
}
.pulse{
  width:7px;height:7px;border-radius:50%;background:var(--lime);
  box-shadow:0 0 8px var(--lime);animation:pulse-dot 1.4s infinite;
}
@keyframes pulse-dot{0%,100%{opacity:.6}50%{opacity:1}}

/* Stats row */
.stats{display:flex;gap:8px;padding:6px 14px 0}
.stat{
  flex:1;background:rgba(10,35,64,.85);
  border:1px solid var(--line);border-radius:12px;
  padding:8px 8px;text-align:center;
}
.stat .v{
  font-size:clamp(17px,4.8vw,20px);font-weight:900;
  font-variant-numeric:tabular-nums;line-height:1;
}
.stat .v.gold{color:var(--xb-blue)}
.stat .v.green{color:var(--lime)}
.stat .l{
  font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;
  opacity:.65;margin-top:3px;
}

/* Hint */
.hint{
  position:absolute;top:20%;left:0;right:0;
  text-align:center;padding:0 30px;
  transition:opacity .4s;pointer-events:none;
}
.hint.hidden{opacity:0}
.hint h1{
  font-size:clamp(21px,6vw,26px);font-weight:800;line-height:1.25;
  text-shadow:0 2px 16px rgba(0,0,0,.7);
}
.hint h1 span{color:var(--xb-blue)}
.hint p{font-size:clamp(12px,3.4vw,14px);opacity:.85;margin-top:6px}

/* Drop button + auto */
.dropzone{
  position:absolute;bottom:calc(var(--safe-b) + 90px);left:0;right:0;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  pointer-events:none;
}
.dropbtn{
  pointer-events:auto;
  width:min(52%,180px);padding:15px 0;
  border:none;border-radius:16px;
  background:linear-gradient(180deg,#3be974,#17a848);
  color:#04170a;font-size:clamp(17px,4.8vw,19px);
  font-weight:900;letter-spacing:.5px;
  box-shadow:0 8px 28px rgba(46,230,107,.4);
  transition:transform .1s;font-family:inherit;min-height:52px;
}
.dropbtn:active{transform:scale(.94)}
.dropbtn.pulse{animation:btnpulse 1.4s ease-in-out infinite}
@keyframes btnpulse{
  0%,100%{box-shadow:0 8px 28px rgba(46,230,107,.4)}
  50%{box-shadow:0 8px 50px rgba(46,230,107,.8)}
}
.autolbl{
  pointer-events:auto;font-size:12.5px;opacity:.85;
  display:flex;align-items:center;gap:7px;
}
.autolbl input{width:16px;height:16px;accent-color:var(--xb-blue)}

/* Floating +Xx labels */
.float{
  position:fixed;z-index:3;font-weight:900;font-size:14px;
  color:var(--xb-blue);text-shadow:0 1px 6px rgba(0,0,0,.8);
  pointer-events:none;animation:floatup 1s ease-out forwards;
}
@keyframes floatup{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(-46px)}
}

/* Timer */
.timer{
  position:absolute;bottom:calc(var(--safe-b) + 32px);
  left:14px;right:14px;
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 12px;border-radius:9px;
  background:rgba(6,22,39,.65);border:1px solid rgba(47,155,255,.2);
  font-size:12.5px;
}
.timer .lbl{opacity:.75}
.timer .clock{font-weight:700;color:var(--xb-blue);font-variant-numeric:tabular-nums}

.winners{
  position:absolute;bottom:var(--safe-b);left:0;right:0;
  overflow:hidden;background:rgba(6,22,39,.55);
  border-top:1px solid rgba(47,155,255,.15);
}
.ticker{width:100%;overflow:hidden}
.tickrow{
  display:inline-block;white-space:nowrap;padding:6px 0;
  animation:scroll 26s linear infinite;font-size:11.5px;
}
.tickrow .w{margin-right:22px;opacity:.85}
.tickrow .w b{color:var(--lime);font-weight:700}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Modals */
.modal-bg{
  position:fixed;inset:0;z-index:20;
  background:rgba(2,9,5,.9);backdrop-filter:blur(7px);
  display:none;align-items:center;justify-content:center;
  padding:20px;pointer-events:auto;
  padding-top:calc(var(--safe-t) + 20px);
  padding-bottom:calc(var(--safe-b) + 20px);
}
.modal-bg.show{display:flex}
.modal{
  width:100%;max-width:370px;max-height:100%;overflow:auto;
  background:linear-gradient(165deg,#0d2c50,#061627);
  border:1px solid rgba(47,155,255,.55);border-radius:22px;
  padding:26px 22px;text-align:center;
  animation:rise .5s cubic-bezier(.2,1.4,.4,1);
  position:relative;
}
@keyframes rise{from{transform:translateY(60px) scale(.9);opacity:0}to{transform:none;opacity:1}}
.modal-logo{margin-bottom:8px}
.modal-logo .xblogo{font-size:16px}
.modal .crown{font-size:44px;line-height:1;margin-bottom:4px}
.won{font-size:clamp(20px,5.6vw,24px);font-weight:800;line-height:1.25}
.won .g{color:var(--xb-blue)}
.note{font-size:12.5px;opacity:.85;margin:6px 0 14px}
.prize{
  margin:14px 0;padding:14px 12px;border-radius:14px;
  background:rgba(47,155,255,.12);border:1.5px dashed var(--xb-blue);
}
.prize.second{background:rgba(155,226,79,.1);border-color:var(--lime)}
.prize .g{
  display:block;font-size:clamp(26px,7.6vw,32px);
  font-weight:800;color:var(--xb-blue);line-height:1;
}
.prize.second .g{color:var(--lime)}
.prize .lbl{font-size:11.5px;letter-spacing:.5px;opacity:.75;margin-top:5px}

.progress{
  height:6px;border-radius:3px;background:rgba(255,255,255,.1);
  overflow:hidden;margin:6px 0 8px;
}
.progress .bar{
  width:10%;height:100%;
  background:linear-gradient(90deg,var(--xb-blue),var(--lime));
  transition:width 1s ease;
}
.progress .bar.go{width:90%}

.cta{
  display:block;width:100%;padding:15px;
  border:none;border-radius:14px;
  background:linear-gradient(180deg,#43d268,#159a3f);
  color:#03140a;font-size:clamp(16px,4.8vw,18px);
  font-weight:800;text-decoration:none;
  box-shadow:0 6px 24px rgba(67,210,104,.45);
  animation:pulse2 1.6s infinite;font-family:inherit;
  min-height:52px;cursor:pointer;
}
.cta.blue{
  background:linear-gradient(180deg,#4ecdff,#1e8fd0);color:#041220;
  box-shadow:0 6px 20px rgba(57,194,255,.35);animation:none;
}
@keyframes pulse2{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.modal small{display:block;margin-top:10px;font-size:11px;opacity:.55}

/* Card pick */
.cards{
  display:flex;gap:10px;justify-content:center;
  margin:16px 0 8px;perspective:900px;
}
.pcard{
  width:clamp(72px,22vw,88px);
  height:clamp(103px,31.5vw,126px);
  position:relative;cursor:pointer;
  transform-style:preserve-3d;
  transition:transform .6s cubic-bezier(.3,1.2,.4,1);
}
.pcard.flip{transform:rotateY(180deg)}
.pcard .face{
  position:absolute;inset:0;border-radius:12px;
  backface-visibility:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-weight:900;
}
.pcard .back{
  background:repeating-linear-gradient(45deg,#1a3a63,#1a3a63 8px,#14304f 8px,#14304f 16px);
  border:2px solid var(--cyan);font-size:30px;color:var(--cyan);
}
.pcard .front{
  background:linear-gradient(170deg,#e8f2ff,#a3c9f2);
  border:2px solid var(--xb-blue);transform:rotateY(180deg);color:#04213c;
  padding:6px;
}
.pcard .front .big{font-size:clamp(15px,4.4vw,18px);line-height:1.1;text-align:center}
.pcard .front .sm{
  font-size:9px;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;opacity:.75;
}
.pcard:not(.flip):active{transform:scale(.95)}
.pcard.dim{opacity:.35;pointer-events:none}

/* iOS / Chrome / IAB (identical to cricket) */
.ios{
  position:fixed;inset:0;z-index:30;
  background:rgba(0,0,0,.65);
  display:none;align-items:flex-end;justify-content:center;
  padding:12px;padding-bottom:calc(var(--safe-b) + 12px);
}
.ios.show{display:flex}
.ios-card{
  width:100%;max-width:420px;
  background:#0e2c4e;border:1px solid rgba(47,155,255,.35);
  border-radius:18px;padding:18px 18px 14px;color:var(--white);
}
.ios-card h4{font-size:17px;margin-bottom:12px}
.sheet-note{font-size:13px;opacity:.85;margin-bottom:10px}
.sheet-btn{
  display:block;width:100%;padding:13px;border:none;border-radius:12px;
  background:linear-gradient(180deg,#43d268,#159a3f);color:#03140a;
  font-size:16px;font-weight:800;font-family:inherit;
  margin-bottom:6px;min-height:48px;
}
.ios-card .step{display:flex;align-items:flex-start;gap:10px;margin:8px 0;font-size:13.5px}
.ios-card .step .n{
  flex:0 0 28px;width:28px;height:28px;border-radius:50%;
  background:var(--xb-blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;
}
.ios-card .step .t{flex:1;line-height:1.4;padding-top:4px}
.ios-close{
  display:block;width:100%;margin-top:10px;padding:11px;
  background:transparent;border:1px solid rgba(255,255,255,.2);
  border-radius:10px;color:var(--white);font-size:14px;font-family:inherit;min-height:44px;
}

.iab-bar{
  position:fixed;left:8px;right:8px;bottom:calc(var(--safe-b) + 8px);
  z-index:40;display:none;align-items:center;gap:8px;
  padding:10px 12px;border-radius:12px;
  background:#f42a41;color:#fff;
  box-shadow:0 6px 20px rgba(244,42,65,.4);font-size:12.5px;
}
.iab-bar.show{display:flex}
.iab-bar .ic{font-size:16px}
.iab-bar .tx{flex:1;line-height:1.3}
.iab-bar .go{
  padding:6px 12px;border:none;border-radius:8px;
  background:#fff;color:#f42a41;font-weight:800;font-size:12px;font-family:inherit;
}
.iab-bar .x{background:transparent;border:none;color:#fff;font-size:18px;padding:4px 6px;line-height:1}

/* Small phone tweaks */
@media (max-height:640px){
  .hint{top:15%}
  .stats{padding-top:2px}
  .dropzone{bottom:calc(var(--safe-b) + 80px)}
}
@media (max-width:340px){
  .stat .v{font-size:16px}
  .stat .l{font-size:9px}
  .pcard{width:70px;height:100px}
}
