/* Polish pass: onboarding + casino brought in line with the native app look. Loaded last. */

/* ================= Onboarding ================= */
#ob{background:#000;overflow:hidden}
#ob .stage{position:absolute;inset:0}
#ob .stage:after{content:"";position:absolute;inset:0;pointer-events:none;animation:none;background:linear-gradient(180deg,rgba(0,0,0,.55) 0,rgba(0,0,0,0) 16%,rgba(0,0,0,0) 42%,rgba(8,8,13,.82) 62%,var(--bg) 76%)}
#ob .slide{padding-bottom:34%;transition:opacity .45s ease}

#ob .fade{background:none}
#ob .slide .fl{width:58%;max-height:56%;filter:drop-shadow(0 26px 40px rgba(0,0,0,.75));animation:obfloat 6s ease-in-out infinite}
@keyframes obfloat{50%{transform:translateY(-10px)}}
#ob .ring{width:240px;height:240px;border:1px solid rgba(255,255,255,.14)}
#ob .slide.on .ring{border-color:rgba(255,255,255,.18)}

#ob .cutwrap{padding-bottom:0}
#ob .slide:nth-child(3){padding-bottom:22%}
#ob .slide .cut{height:96%;-webkit-mask-image:none;mask-image:none}

#ob .dots{flex:1;display:flex;gap:4px;margin:0;justify-content:stretch}
#ob .dots i{flex:1;width:auto!important;height:3px;border-radius:2px;background:rgba(255,255,255,.25);transition:background .3s}
#ob .dots i.on,#ob .dots i:has(~ i.on){background:#fff}

#ob .copy{padding:0;text-align:left}
#ob .copy small{display:block;font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:rgba(235,235,245,.5);animation:up .45s both}
#ob .copy h1{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,system-ui,sans-serif;font-size:34px;font-weight:700;letter-spacing:-.6px;line-height:1.1;margin-top:6px;animation:up .45s .04s both}
#ob .copy h1:after{content:none}
#ob .copy p{font-size:17px;line-height:1.42;color:rgba(235,235,245,.68);margin-top:10px;max-width:340px;animation:up .45s .08s both}
#ob .pad{padding:0;margin-top:28px}
#ob #nx{background:#fff;color:#0b0b10!important;box-shadow:none;border-radius:14px;min-height:54px;font-size:17px;font-weight:600}
#ob #nx:active{background:#e6e6ea}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ================= Casino: lobby ================= */
.cz-lobby .lt p{margin-top:4px}
.cz-wallet{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;background:var(--cell);border-radius:16px;padding:14px 14px 14px 16px}
.cw-bal small{display:block;font-size:13px;color:var(--m)}
.cw-bal b{display:flex;align-items:baseline;gap:2px;font:700 28px/1.15 ui-rounded,"SF Pro Rounded",-apple-system,system-ui;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.cw-bal .mp-i{font-size:20px}
.cw-bal em{font-style:normal;font-size:13px;font-weight:600;color:var(--m);margin-left:5px;letter-spacing:0}
.cw-wheel{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:12px;background:var(--cell2);text-align:left;transition:transform .15s}
.cw-wheel:active{transform:scale(.97)}
.cw-wheel b{display:block;font-size:14px;font-weight:600}.cw-wheel small{display:block;font-size:12px;color:var(--m);margin-top:1px}
.cw-wheel.ready small{color:#7ee0a0}
.cw-dial{flex:none;width:34px;height:34px;border-radius:50%;background:conic-gradient(#4332b1 0 12.5%,#2a2a38 0 25%,#5a3fc9 0 37.5%,#2e2380 0 50%,#6b55d6 0 62.5%,#3d2fa0 0 75%,#c99a1e 0 87.5%,#5442c4 0);box-shadow:0 0 0 2px #e9e9ef,0 2px 6px rgba(0,0,0,.4)}
.cw-wheel.ready .cw-dial{animation:czspin 8s linear infinite}
.cz-hero{position:relative;display:block;width:100%;height:208px;margin-top:16px;border-radius:20px;overflow:hidden;text-align:left;background:radial-gradient(90% 120% at 85% 30%,#2a1d5c 0,transparent 60%),linear-gradient(135deg,#17142a,#0c0b14);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1);transition:transform .2s}
.cz-hero:active{transform:scale(.98)}
.hero-art{position:absolute;right:-6px;top:10px;width:58%;height:78%}
.ha{position:absolute;display:block}
.ha svg{width:100%;height:100%;filter:drop-shadow(0 14px 18px rgba(0,0,0,.6))}
.ha1{width:44%;right:44%;top:22%;transform:rotate(-8deg)}
.ha2{width:54%;right:12%;top:2%;z-index:2}
.ha3{width:36%;right:0;top:46%;transform:rotate(10deg);z-index:3}
.hero-tx{position:absolute;left:18px;bottom:18px;max-width:58%;display:flex;flex-direction:column}
.hero-tx small{font-size:11px;font-weight:700;letter-spacing:.8px;color:rgba(235,235,245,.55)}
.hero-tx b{font-size:26px;font-weight:700;letter-spacing:-.4px;margin-top:2px}
.hero-tx span{font-size:13px;color:rgba(235,235,245,.65);margin-top:3px;line-height:1.35}
.get{flex:none;font-size:15px;font-weight:700;color:var(--acc);background:var(--cell2);padding:6px 18px;border-radius:99px}
.sheet .get,.grp .get{background:#262636}
.cz-hero .get{position:absolute;right:16px;bottom:18px;background:#fff;color:#0b0b10}
.lg-row{min-height:72px;gap:14px}
.lg-row+.lg-row:before{left:80px!important}
.lg-tile{flex:none;width:52px;height:52px;border-radius:12px;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.12)}
.lg-tile svg{width:78%;height:78%}
.t-neon{background:radial-gradient(circle at 50% 40%,#3a2a80,#141026)}
.t-seven{background:linear-gradient(160deg,#2a0d14,#14080b)}
.t-seven .seven{font:800 32px/1.15 ui-rounded,system-ui;color:#ff4458;text-shadow:0 2px 0 #5a0815}
.t-bj{background:radial-gradient(circle at 50% 30%,#1d5a46,#0c2a20)}
.mini-card{display:block;width:26px;height:36px;border-radius:4px;background:#fff;color:#121218;padding:2px 3px;box-shadow:0 4px 8px rgba(0,0,0,.5);transform:rotate(-6deg)}
.mini-card b{display:block;font:800 13px/1 system-ui}.mini-card i{display:block;font-style:normal;font-size:12px;line-height:1}
.t-wheel{background:#1c1c26}.t-wheel .cw-dial{width:32px;height:32px}
.lg-row .gi-t b{font-size:16px;font-weight:600}

/* Home promo card */
.cz-promo{background:var(--cell);box-shadow:none;border-radius:16px;padding:12px 14px 12px 12px}
.cz-promo .gi-t small{color:var(--acc2);letter-spacing:.6px;font-weight:700}
.cz-promo .gi-t b{font-size:17px;font-weight:700}
.cz-promo .gi-t span{color:var(--m)}
.cz-pa{position:relative;flex:none;width:64px;height:64px;border-radius:14px;background:radial-gradient(circle at 50% 40%,#3a2a80,#141026);overflow:hidden;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.12)}
.cz-pa>span{position:absolute;display:block}.cz-pa svg{width:100%;height:100%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.6))}
.cz-pa .pa1{width:46%;left:4%;top:26%;transform:rotate(-10deg)}
.cz-pa .pa2{width:58%;left:22%;top:6%;z-index:2}
.cz-pa .pa3{width:40%;right:2%;bottom:6%;z-index:3}
.cz-promo .cz-pill{background:var(--cell2);border:0;color:var(--t)}

/* ================= Casino: shared chrome ================= */
.cz-pill{background:var(--cell2);border:0;color:var(--t);font-weight:700}
.sl-ctrl{background:var(--cell);border-radius:20px;padding:12px 14px;margin:14px 0 0}
.sl-bet button{width:34px;height:34px;background:var(--cell2);font-size:19px}
.sl-bet small{font-weight:600;letter-spacing:.6px}
.sl-bet b{font:700 18px/1.15 -apple-system,system-ui;font-variant-numeric:tabular-nums}
.sl-spin{width:72px;height:72px;background:#fff;color:#0b0b10;font:700 16px/1 -apple-system,system-ui;letter-spacing:0;box-shadow:0 0 0 5px rgba(255,255,255,.07),0 10px 22px -10px rgba(0,0,0,.9)}
.sl-spin:active{transform:scale(.94);background:#e6e6ea}
.sl-spin.auto{background:var(--btn);color:#fff;box-shadow:0 0 0 5px rgba(143,130,236,.18),0 10px 22px -10px rgba(67,50,177,.9)}
.sl-auto,.sl-tb{height:32px;padding:0 14px;background:var(--cell2);font-size:13px;font-weight:600}
.sl-tb.on{background:rgba(240,194,75,.16);color:var(--gold)}
.sl-automenu{background:var(--cell);margin-top:8px}
.sl-automenu button{background:var(--cell2);font-weight:600}
.cl-pay span{background:var(--cell)}

/* Wheel */
.wh-wrap:before{content:none}
.wh{filter:drop-shadow(0 20px 34px rgba(0,0,0,.65))}
.wh-wrap:after{content:"";position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.wh .pegs circle{fill:#e9e9ef}
.wh-ptr{background:#fff}
.wh-win{font-family:-apple-system,"SF Pro Display",system-ui;font-weight:800}

/* Lucky 7s: graphite cabinet, cream reels */
.cl-machine{background:linear-gradient(180deg,#1c1c26,#121219);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1),0 20px 40px -24px #000;border-radius:22px;padding:14px 48px 14px 14px}
.cl-top{display:flex;align-items:baseline;justify-content:space-between;padding:2px 4px 12px;text-align:left}
.cl-top b{font:700 18px/1 -apple-system,"SF Pro Display",system-ui;letter-spacing:-.2px;color:#fff;text-shadow:none}
.cl-top span{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--m)}
.cl-win{background:#0a0a10;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.08)}
.cl-win small{color:var(--m);font-weight:700;letter-spacing:1px}
.cl-win b{font:700 20px/1 ui-monospace,"SF Mono",Menlo,monospace;color:var(--gold);text-shadow:none}
.cl-glass{background:#0a0a10;box-shadow:inset 0 2px 8px rgba(0,0,0,.8)}
.cl-reel{background:linear-gradient(180deg,#d8d4c8,#f7f4ec 28%,#f7f4ec 72%,#d8d4c8)}
.cl-line{background:rgba(240,194,75,.7);height:1.5px}
.cl-msg{color:var(--m);font-weight:500}.cl-msg.w{color:var(--t)}
.cl-lever i{background:linear-gradient(90deg,#6b6b78,#c9c9d2,#6b6b78)}
.cl-lever b{background:radial-gradient(circle at 35% 35%,#ff8a96,#c3142f 60%,#5a0812)}
.cl-lever:after{background:#2a2a36}

/* Neon Reels: quiet frame so the symbols carry it */
.nr{background:linear-gradient(180deg,#16142a,#0d0c16);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1),0 20px 40px -24px #000;border-radius:22px}
.nr-logo{font:700 18px/1 -apple-system,"SF Pro Display",system-ui;letter-spacing:-.2px;color:#fff;text-shadow:none}
.nr-jp span{background:#0a0a12;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1);border-radius:8px}
.nr-jp i{font-weight:700;letter-spacing:.6px}
.nr-glass{background:#07060c;box-shadow:inset 0 2px 10px #000,0 0 0 .5px rgba(255,255,255,.08)}
.nr-reel{background:linear-gradient(180deg,#0d0b1a,#161330 50%,#0d0b1a)}
.nr-banner{background:#1d1840;box-shadow:inset 0 0 0 .5px rgba(143,130,236,.5);font-weight:600}
.nr-banner .mx{text-shadow:none}
.nr-info{color:var(--m)}
.nr-intro{background:radial-gradient(circle at 50% 45%,rgba(67,50,177,.55),rgba(7,6,12,.95) 70%)}
.nr-intro b,.vs-big b{font-family:-apple-system,"SF Pro Display",system-ui;font-weight:800;letter-spacing:-.5px;filter:none;background-image:linear-gradient(180deg,#fff,#d9d2ff)}
.vs-big b{background-image:linear-gradient(180deg,#fff7d6,#f0c24b)}
.vs-big.mega b{background-image:linear-gradient(180deg,#fff,#8cc8ff)}.vs-big.epic b{background-image:linear-gradient(180deg,#fff,#f0abfc)}
.vs-big{background:radial-gradient(circle,rgba(26,22,52,.85),rgba(7,6,12,.95) 70%)}
.nr-links .buy{background:rgba(240,194,75,.14);color:var(--gold);font-weight:700}
.nr-hw{background:radial-gradient(circle at 50% 40%,#1b1640,#09080f 80%)}

/* Blackjack: clean felt, no wood trim */
.bj-table{background:radial-gradient(120% 90% at 50% 18%,#1f5f4a,#11382c 58%,#0a251d);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1),inset 0 0 60px rgba(0,0,0,.35),0 20px 40px -24px #000;border-radius:22px}
.bj-mid{color:rgba(255,255,255,.42);font-weight:700}
.bj-mid span+span{color:rgba(255,255,255,.3)}
.bj-row small,.bj-hand .bj-bet{color:rgba(255,255,255,.6);font-weight:700}
.bj-val{background:rgba(0,0,0,.35);font-family:-apple-system,system-ui;font-weight:700}
.bj-msg{font-weight:600}
.bj-shoe{box-shadow:inset 0 0 0 3px #fff,2px 2px 0 #0a251d,4px 4px 0 rgba(0,0,0,.25)}
.chip{width:56px;height:56px;font:800 14px/1 -apple-system,system-ui;box-shadow:inset 0 0 0 4px rgba(255,255,255,.92),inset 0 0 0 7px rgba(0,0,0,.12),0 6px 12px rgba(0,0,0,.4)}
.ch10{background:#2563eb}.ch25{background:#15803d}.ch100{background:#1c1c26}.ch500{background:#6d28d9}
.bj-acts .btn{font-weight:600}

/* ================= Potion Brew meters ================= */
.nr-brew{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 8px}

.b-G{--bc:#4ade80}.b-B{--bc:#38bdf8}.b-V{--bc:#c084fc}

@keyframes bump{40%{transform:scale(1.06);box-shadow:inset 0 0 0 1px var(--bc),0 0 12px var(--bc)}}

.nr-reel .cell.sip{animation:sip .6s ease}
@keyframes sip{50%{transform:scale(1.15) translateY(-6px);filter:brightness(1.4)}}
.nr-reel .cell.stk:after,.nr-reel .cell.xpd:after,.nr-reel .cell.rwd:after{content:"";position:absolute;inset:3px;border-radius:10px;pointer-events:none}
.nr-reel .cell.stk:after{box-shadow:inset 0 0 0 2px #4ade80,0 0 12px rgba(74,222,128,.5)}
.nr-reel .cell.rwd:after{box-shadow:inset 0 0 0 2px #38bdf8,0 0 12px rgba(56,189,248,.5)}
.nr-reel .cell.xpd:after{box-shadow:inset 0 0 0 2px #c084fc,0 0 12px rgba(192,132,252,.5)}
.nr-banner.brew{background:#0f1a14;box-shadow:inset 0 0 0 .5px var(--bc)}
.nr-banner.brew.b-B{background:#0c1820}.nr-banner.brew.b-V{background:#1a1024}
.nr-banner.brew b{color:var(--bc)}.nr-banner.brew .mx{color:var(--bc);font-size:13px;font-weight:700}
.brew-h{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.brew-h span{width:56px;height:56px}.brew-h span svg{width:100%;height:100%}
.brew-h b{display:block;font-size:24px;font-weight:700;letter-spacing:-.3px;color:var(--bc)}.brew-h small{color:var(--m);font-size:14px}

/* Coin Rush mini reels */
.hw-c{position:relative;overflow:hidden;padding:0}
.hw-reel{position:absolute;inset:0;overflow:hidden;border-radius:10px}
.hw-strip{display:flex;flex-direction:column;will-change:transform}
.hw-it{flex:none;height:var(--hwh,100%);aspect-ratio:auto;display:grid;place-items:center;padding:8%}
.hw-it svg{width:100%;height:100%}
.hw-it.dim{opacity:.45}
.hw-c .hw-strip,.hw-c .hw-it{height:100%}
.hw-c.spin{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(143,130,236,.10),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(143,130,236,.35)}
.hw-c.spin .hw-it{filter:blur(1px)}
.sl-spin.respin{background:var(--gold);color:#1a1300;font-size:13px;letter-spacing:.3px}

/* Big brew bottles (no numbers, they just fill) */
.nr-brew{grid-template-columns:repeat(3,1fr);gap:6px}
.bt{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 6px;border-radius:12px;background:#0a0a12;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.08);transition:transform .15s}
.bt:active{transform:scale(.96)}
.bt .bb{width:auto;height:58px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.bt b{font-size:11px;font-weight:700;color:rgba(235,235,245,.7)}
@keyframes wave{to{transform:translateX(30px)}}
.bt.bump{animation:bump .6s ease}
.bt.full{box-shadow:inset 0 0 0 1px var(--bc),0 0 14px -2px var(--bc)}
.bt.full b{color:var(--bc)}
.bt.full .bb{animation:ready 1.2s ease-in-out infinite}
@keyframes ready{50%{transform:translateY(-3px) rotate(-3deg)}}
.brew-big{display:flex;flex-direction:column;align-items:center;gap:8px;margin:6px 0 18px}
.brew-big .bb{height:150px;width:auto}
.brew-big span{font-weight:700;color:var(--bc)}
.nr-reel .cell .pv{position:absolute;right:6%;bottom:6%;font:800 calc(var(--rh) / 26)/1 -apple-system,system-ui;color:#fff;background:rgba(10,10,18,.8);padding:2px 5px;border-radius:5px;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.2)}
.nr-reel .pc-X .pv{background:linear-gradient(90deg,#16a34a,#0284c7,#9333ea)}
.nr-reel .pc-X svg{filter:drop-shadow(0 0 8px rgba(192,132,252,.6))}

/* Bottles: liquid rises smoothly, bubbles, near-full glow + shake, flying potions */

@keyframes rise{0%{opacity:0}15%{opacity:.85}100%{opacity:0}}
.bt.near{box-shadow:inset 0 0 0 1px var(--bc),0 0 10px -3px var(--bc)}
.bt.near .bb{animation:shake 2.4s ease-in-out infinite}
@keyframes shake{0%,82%,100%{transform:none}85%{transform:rotate(-6deg)}88%{transform:rotate(5deg)}91%{transform:rotate(-4deg)}94%{transform:rotate(2deg)}}
.bt.full .bb{animation:ready .9s ease-in-out infinite;filter:drop-shadow(0 0 10px var(--bc))}
.bt.bump .bb{animation:gulp .5s ease}
@keyframes gulp{40%{transform:scale(1.14,.92)}70%{transform:scale(.96,1.05)}}
.fly{position:fixed;z-index:180;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.fly svg{width:100%;height:100%}

/* You tab: casino stats */

.tgl{position:relative;flex:none;width:51px;height:31px;border-radius:99px;background:#39394a;transition:background .2s}
.tgl:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.3);transition:transform .2s cubic-bezier(.3,.9,.4,1)}
.tgl.on{background:#34c759}.tgl.on:after{transform:translateX(20px)}

/* GTA VI countdown card */
.gta{position:relative;margin-top:16px;border-radius:20px;overflow:hidden;isolation:isolate;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.12),0 20px 40px -24px #000}
.gta-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.gta:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,8,13,.05),rgba(8,8,13,.55) 70%,rgba(8,8,13,.8))}
.gta-in{padding:16px 16px 14px}
.gta-hd b{display:block;font:900 30px/1 -apple-system,"SF Pro Display",system-ui;letter-spacing:-.5px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.gta-hd span{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,.8);margin-top:4px}
.gta-cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.gta-cd div{text-align:center;padding:10px 0 8px;border-radius:12px;background:rgba(10,6,20,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.15)}
.gta-cd b{display:block;font:800 26px/1 ui-rounded,"SF Pro Rounded",-apple-system,system-ui;font-variant-numeric:tabular-nums;color:#fff}
.gta-cd b.tk{animation:tk .35s ease}
@keyframes tk{from{transform:translateY(-4px);opacity:.4}}
.gta-cd small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:5px}
.gta-out{grid-column:1/-1;font:800 24px/1.3 -apple-system,system-ui;color:#fff;padding:8px 0}
.gta-ft{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.gta-btn{height:36px;padding:0 16px;border-radius:99px;background:#fff;color:#1a0a24;font-size:14px;font-weight:700;transition:transform .12s,background .2s}
.gta-btn:active{transform:scale(.95)}
.gta-btn.on{background:rgba(255,255,255,.18);color:#fff;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.35)}
.gta-n{font-size:13px;color:rgba(255,255,255,.75)}
.gta-n b{font:800 17px/1 ui-rounded,-apple-system,system-ui;color:#fff;font-variant-numeric:tabular-nums;display:inline-block}
.gta-n b.pop{animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.plus1{position:absolute;left:40px;top:-6px;font:800 16px/1 ui-rounded,system-ui;color:#ffe3a3;pointer-events:none;animation:plus 0.9s ease-out forwards}
@keyframes plus{to{transform:translateY(-34px);opacity:0}}
