:root{--ink:#fdf3dc;--ink-dim:#fdf3dcb8;--ink-faint:#fdf3dc80;--gold-1:#fff1bf;--gold-2:#f2cd72;--gold-3:#c99536;--gold-4:#7e5414;--gold-line:#f2cd728c;--night:#0b0605;--panel:#120b09d1;--panel-edge:#ffe6a014;--emerald:#1a8a55;--crimson:#e2283f;--brand:#c99536;--font-display:"Cinzel", "Hind Siliguri", "Times New Roman", serif;--font-body:"Hind Siliguri", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-card:22px;--radius-pill:999px;--space-gutter:16px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.14s;--t-med:.32s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:radial-gradient(120% 80% at 50% 0%, #2a110c 0%, var(--night) 60%) fixed, var(--night);height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{place-items:center;height:100dvh;display:grid}.stage{place-items:center;width:100%;height:100%;display:grid}.frame{isolation:isolate;background:var(--night);width:min(100vw,60dvh,560px);height:100dvh;position:relative;overflow:hidden}@media (min-width:600px){.frame{height:min(100dvh,980px);box-shadow:0 0 0 1px var(--gold-line), 0 0 0 6px #120b09, 0 0 0 7px #f2cd7240, 0 40px 120px #000000b3;border-radius:28px}}.canvas-host{position:absolute;inset:0}.canvas-host canvas{display:block}.vignette{pointer-events:none;background:radial-gradient(130% 70% at 50% 45%,#0000 55%,#050201bf 100%),linear-gradient(#050201a6,#0000 16% 70%,#050201d9);position:absolute;inset:0}.hud-top{z-index:30;padding:max(12px, env(safe-area-inset-top)) var(--space-gutter) 0;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;inset:0 0 auto}.hud-left,.hud-right{align-items:center;gap:8px;display:flex}.brand-logo{object-fit:contain;width:44px;height:44px;box-shadow:0 0 0 1px var(--gold-line), 0 6px 18px #00000080;background:#00000059;border-radius:12px;padding:4px}.chip{border:1px solid var(--gold-line);border-radius:var(--radius-pill);min-height:36px;color:var(--gold-1);letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform var(--t-fast) var(--ease-out), border-color var(--t-fast), background var(--t-fast);background:linear-gradient(#281810d9,#0e0806d9);padding:6px 13px;font-size:13px;font-weight:600}.chip:hover{border-color:var(--gold-2)}.chip:active{transform:scale(.95)}.chip:focus-visible,.btn:focus-visible,.roll-btn:focus-visible,.link-btn:focus-visible{outline:2px solid var(--gold-1);outline-offset:3px}.chip-lang{font-family:var(--font-body)}.chip-icon{place-items:center;width:36px;padding:0;display:grid}.sound-icon{background:var(--gold-1);width:18px;height:18px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 8.5a5 5 0 0 1 0 7M18.5 6a8.5 8.5 0 0 1 0 12' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 8.5a5 5 0 0 1 0 7M18.5 6a8.5 8.5 0 0 1 0 12' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.chip-icon[aria-pressed=false] .sound-icon{opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 9l6 6M22 9l-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 9l6 6M22 9l-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.hud-bottom{z-index:10;padding:0 var(--space-gutter) max(22px, env(safe-area-inset-bottom));transition:opacity var(--t-med) var(--ease-out), transform var(--t-med) var(--ease-out);justify-items:center;gap:10px;display:grid;position:absolute;inset:auto 0 0}.frame.has-overlay .hud-bottom{opacity:0;pointer-events:none;transform:translateY(16px)}.plaque{box-shadow:inset 0 1px 0 #ffe6a059, inset 0 -2px 6px #0009, 0 0 0 1px var(--gold-3), 0 0 0 3px #140c08, 0 0 0 4px var(--gold-line), 0 10px 24px #0000008c;background:linear-gradient(#3a2410,#170d07);border-radius:10px;padding:7px 22px 6px;position:relative}.plaque-label{font-family:var(--font-display);letter-spacing:.06em;background:linear-gradient(180deg, var(--gold-1), var(--gold-2) 55%, var(--gold-3));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700}:lang(bn) .plaque-label{font-family:var(--font-body);letter-spacing:0;font-size:16px}.message{text-align:center;min-height:1.5em;color:var(--ink-dim);text-shadow:0 2px 10px #000000e6;margin:0;font-size:15px;font-weight:600}.message.is-win{color:var(--gold-1);animation:pop-in .42s var(--ease-spring);font-size:18px}.message.is-miss{color:#ffb3b9}.roll-btn{--press:0px;border-radius:var(--radius-pill);cursor:pointer;touch-action:manipulation;background:linear-gradient(#6b4510,#3a2208);border:0;width:min(100%,340px);height:64px;padding:0;position:relative;box-shadow:0 14px 30px #0000008c,0 0 0 1px #0009}.roll-btn-face{border-radius:inherit;background:radial-gradient(120% 90% at 50% -10%, #ffffff8c, transparent 55%), linear-gradient(180deg, var(--gold-1) 0%, var(--gold-2) 45%, var(--gold-3) 100%);color:#3a2105;font-family:var(--font-display);letter-spacing:.08em;text-shadow:0 1px #fff5d2cc;transform:translateY(var(--press));transition:transform 90ms var(--ease-out), filter var(--t-fast);place-items:center;font-size:22px;font-weight:900;display:grid;position:absolute;inset:0 0 6px;box-shadow:inset 0 -3px #7e541499,inset 0 2px #ffffffb3}.roll-btn:not(:disabled){animation:2.4s ease-in-out infinite roll-glow}.roll-btn:not(:disabled):hover .roll-btn-face{filter:brightness(1.06)}.roll-btn:not(:disabled):active{--press:4px}.roll-btn:disabled{cursor:default}.roll-btn:disabled .roll-btn-face{filter:grayscale(.65)brightness(.62);--press:4px}@keyframes roll-glow{0%,to{box-shadow:0 14px 30px #0000008c,0 0 0 1px #0009,0 0 #f2cd7200}50%{box-shadow:0 14px 30px #0000008c,0 0 0 1px #0009,0 0 28px 4px #f2cd7261}}.overlay{z-index:20;padding:72px var(--space-gutter) 24px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--t-med) var(--ease-out);background:radial-gradient(90% 70%,#0b06058c,#0b0605e0);place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.overlay[hidden]{display:none}.overlay-soft{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#0b060540,#0b0605d1 60%)}.overlay-dialog{z-index:40}.card{border-radius:var(--radius-card);background:linear-gradient(180deg, var(--panel-edge), transparent 40%), var(--panel);width:min(100%,380px);box-shadow:inset 0 0 0 1px var(--gold-line), inset 0 0 0 5px #00000040, inset 0 0 0 6px #f2cd721f, 0 30px 80px #000000a6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;animation:card-in .46s var(--ease-out);padding:26px 22px 22px;position:relative}.card:before,.card:after{content:"";border:2px solid var(--gold-2);opacity:.8;pointer-events:none;width:26px;height:26px;position:absolute}.card:before{border-bottom:0;border-right:0;border-top-left-radius:12px;top:10px;left:10px}.card:after{border-top:0;border-left:0;border-bottom-right-radius:12px;bottom:10px;right:10px}.card-title{font-family:var(--font-display);letter-spacing:.03em;color:var(--gold-1);text-shadow:0 2px 14px #f2cd7240;margin:0 0 10px;font-size:26px;font-weight:900;line-height:1.15}:lang(bn) .card-title{font-family:var(--font-body);letter-spacing:0;font-weight:700}.card-text{color:var(--ink-dim);margin:0 0 12px;font-size:15px;line-height:1.55}.note{color:var(--ink-faint);margin:4px 0 14px;font-size:12.5px}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2);border-bottom:3px solid var(--brand);margin:0 0 6px;padding-bottom:4px;font-size:12px;font-weight:700;display:inline-block}.eyebrow:empty{display:none}.logo-title{line-height:.95;font-family:var(--font-display);letter-spacing:.06em;background:linear-gradient(180deg, var(--gold-1) 10%, var(--gold-2) 50%, var(--gold-3) 90%);color:#0000;filter:drop-shadow(0 4px #3c2408e6)drop-shadow(0 10px 22px #0009);-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:clamp(40px,13vw,54px);font-weight:900;display:grid}.logo-title span:last-child{letter-spacing:.32em;padding-left:.32em;font-size:.78em}.tagline{margin-bottom:18px}.field-label{text-align:left;letter-spacing:.06em;color:var(--gold-2);margin:0 0 6px;font-size:13px;font-weight:700;display:block}.text-input{letter-spacing:.02em;width:100%;height:52px;transition:border-color var(--t-fast), box-shadow var(--t-fast);background:#00000073;border:1px solid #f2cd7259;border-radius:14px;padding:0 16px;font-size:17px;font-weight:600;box-shadow:inset 0 2px 6px #00000080}.text-input::placeholder{color:var(--ink-faint);font-weight:400}.text-input:focus{border-color:var(--gold-2);outline:none;box-shadow:inset 0 2px 6px #00000080,0 0 0 3px #f2cd722e}.field-hint{text-align:left;color:var(--ink-faint);margin:6px 2px 14px;font-size:12.5px}.check{text-align:left;color:var(--ink-dim);cursor:pointer;align-items:center;gap:10px;margin:0 0 8px;font-size:14px;display:flex}.check input{width:22px;height:22px;accent-color:var(--gold-3);flex:none;margin:0}.form-error{color:#ff9aa4;min-height:1.4em;margin:4px 0 10px;font-size:14px;font-weight:600}.btn{border-radius:var(--radius-pill);background:linear-gradient(180deg, var(--gold-1), var(--gold-2) 50%, var(--gold-3));color:#3a2105;cursor:pointer;width:100%;min-height:50px;transition:transform var(--t-fast) var(--ease-out), filter var(--t-fast);border:0;place-items:center;padding:10px 18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-grid;box-shadow:inset 0 -3px #7e54148c,inset 0 2px #fff9,0 8px 20px #00000073}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(2px)scale(.99)}.btn:disabled{filter:grayscale(.6)brightness(.65);cursor:default}.btn[hidden]{display:none}.btn-big{min-height:56px;font-family:var(--font-display);letter-spacing:.12em;font-size:20px;font-weight:900}.btn-ghost{box-shadow:inset 0 0 0 1px var(--gold-line);color:var(--gold-1);background:#0000004d}.row{gap:10px;margin-top:6px;display:flex}.row-stack{flex-direction:column}.links{color:var(--ink-faint);justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.link-btn{color:var(--gold-2);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:14px;-webkit-text-decoration:underline #f2cd7266;text-decoration:underline #f2cd7266}.gate-progress{font-family:var(--font-display);color:var(--gold-1);margin:4px 0 10px;font-size:18px;font-weight:700}:lang(bn) .gate-progress{font-family:var(--font-body)}.meter{border-radius:var(--radius-pill);background:#00000080;height:12px;margin:0 0 18px;overflow:hidden;box-shadow:inset 0 1px 3px #000000b3,0 0 0 1px #f2cd7240}.meter span{border-radius:inherit;background:linear-gradient(90deg, var(--gold-3), var(--gold-1));width:0;height:100%;transition:width .7s var(--ease-out);display:block;box-shadow:0 0 12px #f2cd7299}.countdown-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:10px 0 0;font-size:12px}.countdown{font-family:var(--font-display);letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--gold-1);margin:2px 0 16px;font-size:34px;font-weight:700}.overlay-result{background:radial-gradient(80% 60% at 50% 45%,#0b060559,#0b0605d9)}.card-result{animation:result-in .62s var(--ease-spring);overflow:hidden}.card-result>:not(.rays){position:relative}.rays{opacity:0;pointer-events:none;background:repeating-conic-gradient(#f2cd7229 0deg 9deg,#0000 9deg 22deg);position:absolute;inset:-60%;-webkit-mask:radial-gradient(circle,#000 18%,#0000 58%);mask:radial-gradient(circle,#000 18%,#0000 58%)}.card-result.is-win .rays{opacity:1;animation:18s linear infinite rays-spin}.card-result.is-win{box-shadow:inset 0 0 0 1px var(--gold-2), inset 0 0 0 5px #00000040, inset 0 0 0 6px #f2cd7240, 0 0 60px #f2cd7240, 0 30px 80px #000000a6}.card-result.is-miss .card-title{color:#ffc9ce;text-shadow:0 2px 14px #e2283f59}.result-faces{justify-content:center;gap:10px;margin:2px 0 8px;display:flex}.result-faces canvas{border-radius:10px;box-shadow:0 6px 16px #00000080,0 0 0 1px #f2cd7266}.result-amount{font-family:var(--font-display);background:linear-gradient(100deg, var(--gold-3) 0%, var(--gold-1) 40%, #fff 50%, var(--gold-1) 60%, var(--gold-3) 100%);color:#0000;filter:drop-shadow(0 4px #3c2408e6);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:58px;font-weight:900;line-height:1.05;animation:2.6s linear infinite shimmer}.result-amount:empty{display:none}.card-dialog{text-align:left;flex-direction:column;max-height:calc(100dvh - 110px);display:flex}.card-dialog .card-title{text-align:center}.dialog-body{min-height:0;color:var(--ink-dim);flex:1;margin-bottom:16px;font-size:14.5px;line-height:1.6;overflow-y:auto}.rules-list{margin:0;padding-left:1.3em}.rules-list li{margin-bottom:10px}.rules-list li::marker{color:var(--gold-2);font-weight:700}.prize-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.prize-list li{background:#0000004d;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid;box-shadow:inset 0 0 0 1px #f2cd7224}.prize-list li.is-jackpot{box-shadow:inset 0 0 0 1px var(--gold-2);background:linear-gradient(90deg,#f2cd7233,#0000004d)}.prize-faces{gap:4px;display:flex}.prize-faces canvas{border-radius:7px}.prize-what{color:var(--ink-dim);font-size:13.5px}.prize-amount{font-family:var(--font-display);color:var(--gold-1);font-size:20px;font-weight:900}:lang(bn) .prize-amount{font-family:var(--font-body);font-weight:700}.prize-note{text-align:center;color:#ffc9ce;margin:12px 0 0;font-size:13.5px}.spinner{border:3px solid #f2cd722e;border-top-color:var(--gold-2);border-radius:50%;width:54px;height:54px;animation:.9s linear infinite spin}@keyframes fade-in{0%{opacity:0}}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.97)}}@keyframes result-in{0%{opacity:0;transform:scale(.82)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}@keyframes rays-spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-250% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-height:680px){.card{padding:20px 18px 18px}.logo-title{font-size:38px}.roll-btn{height:56px}.result-amount{font-size:46px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
