*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#0b0806;-webkit-tap-highlight-color:transparent}
body{font-family:'Hind Siliguri','Noto Sans Bengali',system-ui,sans-serif;color:#f6efe6}
button{font:inherit;cursor:pointer}
button:disabled{cursor:default}
a{text-decoration:none}

.backdrop{position:fixed;inset:0;background-size:cover;background-position:center;filter:blur(24px) brightness(.45);transform:scale(1.15)}
.stage{position:absolute;left:50%;top:0;width:390px;height:844px;overflow:hidden;transform-origin:top center;transform:translateX(-50%) scale(var(--s,1))}
.abs{position:absolute}
.hidden{display:none!important}

@keyframes ctashine{0%{transform:translateX(-120%)}60%,100%{transform:translateX(340%)}}
@keyframes sheen{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes rimspin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes flyR{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(4deg) translateY(-10px)}}
@keyframes leanL{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-5px)}}
@keyframes floatC{0%,100%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(-8deg) translateY(-8px)}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
@keyframes popin{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes sheetup{from{transform:translateY(100%)}to{transform:translateY(0)}}

.shine{position:absolute;top:0;bottom:0;left:0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:ctashine 2.8s ease-in-out infinite;pointer-events:none}
.top{position:absolute;left:16px;right:16px;top:16px;height:32px;display:flex;align-items:center;justify-content:space-between;z-index:5}
.lang{display:flex;gap:2px;padding:2px;border-radius:999px}
.lang button{width:44px;height:28px;border:0;border-radius:999px;font-size:13px;font-weight:700;background:transparent}
.terms{position:absolute;left:16px;right:16px;margin:0;text-align:center;font-size:12px;line-height:16px;z-index:5}
.prizecard{position:absolute;left:16px;right:16px;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-radius:16px;z-index:6;animation:popin .3s ease-out}
.prizecard .lbl{display:block;font-size:12px;line-height:16px}
.prizecard .amt{display:block;font-size:30px;line-height:34px}
.prizecard .time{display:block;font-size:22px;line-height:28px;font-variant-numeric:tabular-nums;text-align:right}
.note{position:absolute;left:16px;right:16px;text-align:center;font-size:14px;line-height:20px;z-index:6}

/* B: gold night, the same layout as C */
.b{background:#0b0806}
.b .bgimg{position:absolute;left:-360px;top:0;width:1110px;height:844px;object-fit:cover;object-position:70% 50%;filter:saturate(1.1)}
.b .wash{position:absolute;inset:0;background:radial-gradient(300px 260px at 50% 42%,rgba(242,193,78,.42),transparent 72%),radial-gradient(240px 220px at 90% 18%,rgba(255,92,122,.28),transparent 70%);mix-blend-mode:screen}
.b .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,8,6,.9) 0%,rgba(11,8,6,.45) 26%,rgba(11,8,6,.3) 58%,rgba(11,8,6,.9) 80%,#0b0806 100%)}
.b .badge{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:linear-gradient(180deg,#ffe08a,#f2c14e 60%,#c89128);color:#1a1008;font-size:13px;font-weight:700}
.b .lang{background:rgba(11,8,6,.7)}
.b .lang button{color:#f6efe6}
.b .lang button.on{background:#f2c14e;color:#1a1008}
.b .head{position:absolute;left:16px;right:16px;top:64px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;z-index:2}
.b .head h1{margin:0;font-family:'Anek Bangla',sans-serif;font-weight:800;font-size:32px;line-height:40px;color:#fff;text-shadow:0 3px 0 #5c3a08,0 6px 20px rgba(0,0,0,.6)}
.b .gold{background:linear-gradient(100deg,#c89128 0%,#ffe9a8 35%,#f2c14e 55%,#fff3c4 70%,#c89128 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s ease-in-out infinite;text-shadow:none;filter:drop-shadow(0 3px 0 #5c3a08)}
.b .head p{margin:0;font-size:16px;line-height:24px;font-weight:600;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.b .head p .y{color:#f2c14e}
.b .wheelbox{position:absolute;z-index:2;left:39px;top:192px;width:312px;height:330px}
.b .host{position:absolute;z-index:3;left:-14px;top:372px;width:150px;height:264px;object-fit:contain;object-position:center bottom;filter:saturate(1.05) drop-shadow(0 0 14px rgba(242,193,78,.5)) drop-shadow(0 12px 16px rgba(0,0,0,.5))}
.b .cash{position:absolute;z-index:3;right:-16px;top:470px;width:150px;height:100px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(242,193,78,.45)) drop-shadow(0 12px 16px rgba(0,0,0,.5));animation:floatC 3.4s ease-in-out .5s infinite}
.b .cta{position:absolute;z-index:4;left:16px;top:712px;width:358px;height:56px;overflow:hidden;border:0;border-radius:999px;background:linear-gradient(180deg,#ffe08a 0%,#f2c14e 55%,#c89128 100%);color:#1a1008;font-family:'Anek Bangla','Hind Siliguri',sans-serif;font-size:21px;font-weight:800;box-shadow:0 5px 0 #8a5c12,0 14px 28px rgba(242,193,78,.35);display:flex;align-items:center;justify-content:center}
.b .cta span{position:relative}
.b .prizecard{top:632px;background:rgba(11,8,6,.94);border:2px solid #f2c14e;box-shadow:0 12px 28px rgba(0,0,0,.45)}
.b .prizecard .lbl{color:#c9bdb0}
.b .prizecard .amt{font-family:'Anek Bangla',sans-serif;font-weight:800;color:#f2c14e}
.b .prizecard .time{font-family:'Anek Bangla',sans-serif;font-weight:800;color:#f6efe6}
.b .note{top:640px;color:#f6efe6}
.b .terms{top:788px;color:#b7aa9a}
.b .hub{position:absolute;left:112px;top:130px;width:88px;height:88px;border-radius:50%;border:4px solid #fff3c4;background:radial-gradient(circle at 35% 30%,#fff3c4 0%,#f2c14e 45%,#b8862b 100%);color:#2a1500;font-family:'Anek Bangla',sans-serif;font-weight:800;font-size:20px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.55);animation:pulse 1.6s ease-in-out infinite;z-index:3}
.b .hub:disabled{animation:none}

/* C: candy carnival */
.c{background:#1a0630;color:#fff}
.c .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 50%;filter:saturate(1.25) brightness(1.1)}
.c .wash{position:absolute;inset:0;background:radial-gradient(300px 260px at 50% 40%,rgba(255,46,147,.55),transparent 72%),radial-gradient(220px 200px at 92% 20%,rgba(123,44,255,.6),transparent 70%),radial-gradient(220px 220px at 6% 66%,rgba(62,230,255,.28),transparent 70%);mix-blend-mode:screen}
.c .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,6,48,.78) 0%,rgba(26,6,48,.25) 26%,rgba(26,6,48,.15) 58%,rgba(26,6,48,.88) 80%,#1a0630 100%)}
.c .badge{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:rgba(26,6,48,.7);border:1px solid rgba(255,210,63,.7);color:#ffd23f;font-size:13px;font-weight:600}
.c .lang{background:rgba(26,6,48,.7)}
.c .lang button{color:#fff}
.c .lang button.on{background:#b8ff3b;color:#1b0830}
.c .head{position:absolute;left:16px;right:16px;top:64px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;z-index:2}
.c .head h1{margin:0;font-family:'Anek Bangla',sans-serif;font-weight:800;font-size:32px;line-height:40px;color:#fff;text-shadow:0 3px 0 #a3125f,0 6px 20px rgba(0,0,0,.55)}
.c .head h1.en{font-family:'Lilita One',sans-serif;font-weight:400;text-transform:uppercase}
.c .head p{margin:0;font-size:16px;line-height:24px;font-weight:600;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.c .y{color:#ffd23f}.c .l{color:#b8ff3b}
.c .chicken{position:absolute;z-index:1;right:-22px;top:200px;width:150px;height:122px;object-fit:contain;filter:saturate(1.1) drop-shadow(0 0 14px rgba(255,46,147,.65)) drop-shadow(0 12px 16px rgba(0,0,0,.45));animation:flyR 3.8s ease-in-out infinite}
.c .wheelbox{position:absolute;z-index:2;left:39px;top:192px;width:312px;height:330px}
.c .tiger{position:absolute;z-index:3;left:-18px;top:446px;width:196px;height:113px;object-fit:contain;object-position:center bottom;transform-origin:50% 100%;filter:saturate(1.08) drop-shadow(0 0 14px rgba(255,210,63,.55)) drop-shadow(0 12px 16px rgba(0,0,0,.5));animation:leanL 4.2s ease-in-out infinite}
.c .cash{position:absolute;z-index:3;right:-16px;top:470px;width:150px;height:100px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(184,255,59,.45)) drop-shadow(0 12px 16px rgba(0,0,0,.5));animation:floatC 3.4s ease-in-out .5s infinite}
.c .cta{position:absolute;z-index:4;left:16px;top:712px;width:358px;height:56px;overflow:hidden;border:0;border-radius:16px;background:#b8ff3b;color:#1b0830;font-family:'Lilita One','Anek Bangla',sans-serif;font-size:22px;box-shadow:0 5px 0 #6fae12,0 14px 28px rgba(184,255,59,.35);display:flex;align-items:center;justify-content:center}
.c .cta span{position:relative}
.c .prizecard{top:632px;background:rgba(26,6,48,.92);border:2px solid #ffd23f;box-shadow:0 12px 28px rgba(0,0,0,.45)}
.c .prizecard .lbl{color:#f1dcff}
.c .prizecard .amt{font-family:'Lilita One','Anek Bangla',sans-serif;color:#ffd23f}
.c .prizecard .time{font-family:'Lilita One','Anek Bangla',sans-serif;color:#fff}
.c .note{top:640px;color:#fff}
.c .terms{top:788px;color:#f1dcff}
.c .hub{position:absolute;left:112px;top:130px;width:88px;height:88px;border-radius:50%;border:4px solid #fff;background:radial-gradient(circle at 35% 30%,#ff7cc0 0%,#ff2e93 45%,#b0126a 100%);color:#fff;font-family:'Lilita One','Anek Bangla',sans-serif;font-size:20px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.45);animation:pulse 1.6s ease-in-out infinite;z-index:3}
.c .hub:disabled{animation:none}
.spinning .shine{display:none}

/* The steps under the wheel: what happens after the spin. */
.steps{position:absolute;z-index:4;left:16px;right:16px;top:648px;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-size:15px;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.steps>span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.steps b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:13px;line-height:1}
.steps>i{width:12px;height:2px;border-radius:2px;opacity:.7}
.b .steps{background:rgba(11,8,6,.88);border:1px solid rgba(242,193,78,.5);color:#f6efe6}
.b .steps b{background:#f2c14e;color:#1a1008}
.b .steps>i{background:#f2c14e}
.c .steps{background:rgba(26,6,48,.88);color:#fff}
.c .steps b{background:#b8ff3b;color:#1b0830}
.c .steps>i{background:#b8ff3b}

/* Wheel: labels turn against the wheel, the pointer flicks on each slice,
   and on a win the winning slice glows while the rest dim. */
.lbl{transform-box:fill-box;transform-origin:center}
.pointer{transform-origin:50% 35%;z-index:3}
.pointer.tick{animation:tick .14s ease-out}
@keyframes tick{from{transform:rotate(-16deg)}to{transform:rotate(0)}}
[data-glow]{opacity:0;pointer-events:none}
.won [data-arc],.won .lbl{transition:opacity .4s}
.won [data-arc]:not(.win),.won .lbl:not(.win){opacity:.4}
.won [data-glow]{animation:glow .45s ease-in-out 4 alternate}
@keyframes glow{from{opacity:0}to{opacity:.5}}

/* The win card */
@keyframes fadein{from{opacity:0}}
@keyframes winpop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes fall{from{transform:translate(0,0) rotate(0)}to{transform:translate(var(--x),980px) rotate(var(--r))}}
.win{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center}
.win-dim{position:absolute;inset:0;background:rgba(0,0,0,.68);animation:fadein .3s ease-out both}
.win-rays{position:absolute;left:50%;top:50%;width:660px;height:660px;margin:-330px 0 0 -330px;border-radius:50%;opacity:.45;-webkit-mask:radial-gradient(closest-side,#000 18%,transparent);mask:radial-gradient(closest-side,#000 18%,transparent);animation:rimspin 16s linear infinite,fadein .6s ease-out both}
.win-card{position:relative;width:320px;padding:24px 20px 14px;border-radius:24px;text-align:center;animation:winpop .55s cubic-bezier(.2,1.4,.4,1) both}
.win-card p{margin:0}
.win-kick{font-family:'Anek Bangla',sans-serif;font-weight:800;font-size:30px;line-height:38px}
.win-card .win-lbl{margin-top:6px;font-size:16px;line-height:22px;font-weight:600}
.win-amt{font-family:'Anek Bangla',sans-serif;font-weight:800;font-size:64px;line-height:76px;font-variant-numeric:tabular-nums}
.win-card .win-sub{margin:2px 0 18px;font-size:13px;line-height:18px;opacity:.9}
.win-cta{position:relative;overflow:hidden;width:100%;height:56px;border:0;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;animation:pulse 1.6s ease-in-out 1s infinite}
.win-cta span{position:relative}
.win-later{margin-top:6px;padding:8px 16px;border:0;background:none;font-size:14px;font-weight:600;opacity:.75}
.win-rain{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.win-rain i{position:absolute;top:-40px;animation:fall var(--t) cubic-bezier(.35,.1,.65,1) var(--d) both}
.win-rain .coin{width:var(--z);height:var(--z);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6b0,#ffd23f 45%,#c98a00);box-shadow:inset 0 0 0 2px rgba(140,80,0,.45),0 0 10px rgba(255,210,63,.7)}
.win-rain .paper{width:8px;height:14px;border-radius:2px;background:var(--c)}
.b .win-rays{background:repeating-conic-gradient(rgba(255,224,138,.6) 0deg 9deg,transparent 9deg 22deg)}
.b .win-card{background:linear-gradient(180deg,#2c1b0e,#120b07);border:2px solid #f2c14e;box-shadow:0 0 0 6px rgba(242,193,78,.15),0 0 48px rgba(242,193,78,.45);color:#f6efe6}
.b .win-kick{color:#f2c14e}
.b .win-amt{background:linear-gradient(100deg,#c89128 0%,#ffe9a8 35%,#f2c14e 55%,#fff3c4 70%,#c89128 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 3s ease-in-out infinite;filter:drop-shadow(0 3px 0 #5c3a08)}
.b .win-cta{border-radius:999px;background:linear-gradient(180deg,#ffe08a 0%,#f2c14e 55%,#c89128 100%);color:#1a1008;font-family:'Anek Bangla','Hind Siliguri',sans-serif;box-shadow:0 5px 0 #8a5c12,0 14px 28px rgba(242,193,78,.35)}
.b .win-later{color:#f6efe6}
.c .win-rays{background:repeating-conic-gradient(rgba(255,46,147,.55) 0deg 9deg,transparent 9deg 22deg)}
.c .win-card{background:linear-gradient(180deg,#3a0f5e,#16042a);border:2px solid #ffd23f;box-shadow:0 0 0 6px rgba(255,46,147,.2),0 0 48px rgba(255,46,147,.5);color:#fff}
.c .win-kick{color:#b8ff3b;text-shadow:0 3px 0 #a3125f}
.c .win-amt{color:#ffd23f;text-shadow:0 4px 0 #a3125f,0 0 24px rgba(255,210,63,.5)}
.c .win-cta{border-radius:16px;background:#b8ff3b;color:#1b0830;font-family:'Lilita One','Anek Bangla',sans-serif;box-shadow:0 5px 0 #6fae12,0 14px 28px rgba(184,255,59,.35)}
.c .win-later{color:#fff}

@media (prefers-reduced-motion:reduce){
.win-rays,.win-rain{display:none}
.win-card,.win-cta,.win-dim,.won [data-glow]{animation:none}
}

/* The win card's bonus lines: each bonus with what it takes. */
.win-list{list-style:none;margin:6px 0 10px;padding:0;text-align:left}
.win-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:7px 12px;border-radius:12px}
.win-list span{font-size:14px;font-weight:700;line-height:18px}
.win-list em{display:block;font-style:normal;font-size:12px;font-weight:600;line-height:16px;opacity:.75}
.win-list b{font-family:'Anek Bangla',sans-serif;font-size:20px;font-weight:800;white-space:nowrap}
.b .win-list li{background:rgba(242,193,78,.1);border:1px solid rgba(242,193,78,.25)}
.b .win-list b{color:#f2c14e}
.c .win-list li{background:rgba(255,255,255,.08);border:1px solid rgba(255,210,63,.3)}
.c .win-list b{color:#ffd23f}

/* Button labels never wrap: one line on every phone. */
.cta span,.win-cta span{max-width:100%;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
