:root{--bg:#05060b;--panel:#11131b;--line:rgba(255,255,255,.12);--text:#fff8e6;--muted:#c6bda9;--gold:#ffd24d;--red:#d10b10;--green:#00ff9d;--cyan:#26d9ff;--purple:#8a1cff;--shadow:0 28px 100px rgba(0,0,0,.55)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(255,210,77,.14),transparent 32rem),radial-gradient(circle at top right,rgba(138,28,255,.16),transparent 34rem),#05060b;color:var(--text)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.site-body{min-height:100vh}.age-wall{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(4,6,10,.96);backdrop-filter:blur(18px);padding:20px}.age-card{max-width:640px;padding:34px;text-align:center;border-radius:28px;background:linear-gradient(180deg,#221113,#09080b);border:2px solid rgba(255,210,77,.4);box-shadow:var(--shadow)}.age-card img{width:240px}.topbar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:12px min(5vw,76px);background:rgba(5,6,11,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand img{width:205px;display:block}.nav{display:flex;gap:22px;align-items:center;color:#d8d1bd;font-weight:900}.nav a:hover{color:#fff}.wallet{padding:10px 14px;border-radius:999px;color:#260b00;background:linear-gradient(135deg,#ffd24d,#ff7a00);font-weight:950;box-shadow:0 0 30px rgba(255,210,77,.25)}.menu{display:none;color:#fff;background:#18090b;border:1px solid var(--line);border-radius:10px;padding:9px 12px}.section{max-width:1380px;margin:0 auto;padding:72px min(5vw,76px)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;min-height:calc(100vh - 76px)}.pill{display:inline-flex;width:max-content;padding:8px 13px;border-radius:999px;color:#260b00;background:linear-gradient(135deg,#ffd24d,#ff7a00);font-weight:950}.hero h1,.page-hero h1,.section-title h2{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;letter-spacing:-.04em;line-height:.9;font-size:clamp(2.8rem,6vw,6.4rem);margin:18px 0;text-shadow:0 8px 0 rgba(0,0,0,.22)}.page-hero h1,.section-title h2{font-size:clamp(2.3rem,4.7vw,4.8rem)}p{color:var(--muted);line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:0;border-radius:14px;padding:13px 18px;font-weight:950;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-2px);filter:saturate(1.15)}.btn.primary{color:#260b00;background:linear-gradient(135deg,#ffd24d,#ff7a00);box-shadow:0 15px 45px rgba(255,122,0,.28)}.btn.ghost{color:#fff8e6;background:rgba(255,255,255,.06);border:1px solid var(--line)}.btn.full{width:100%}.btn.danger{background:rgba(255,43,80,.12);color:#fff;border:1px solid rgba(255,43,80,.35)}.card,.hero-panel,.sports-panel,.betslip,.filter-card{background:linear-gradient(180deg,rgba(35,12,14,.94),rgba(10,8,12,.9));border:1px solid rgba(255,210,77,.24);border-radius:22px;box-shadow:var(--shadow)}.hero-panel{padding:20px}.panel-top{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid rgba(255,210,77,.24);padding-bottom:12px;color:#ffdf8e;font-weight:900}.match-preview{padding:16px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid var(--line);margin-top:14px}.match-preview.top{background:linear-gradient(135deg,rgba(255,210,77,.18),rgba(209,11,16,.16));border-color:rgba(255,210,77,.45)}.match-teams{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:950;font-size:1.1rem;margin:12px 0}.team-inline{display:flex;align-items:center;gap:8px}.mini-crest{width:38px;height:45px;object-fit:contain}.odds-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.odd-pill{padding:10px;border-radius:12px;text-align:center;color:#260b00;background:linear-gradient(135deg,#ffd24d,#ff7a00);font-weight:950}.disclaimer{margin-top:18px;border:1px solid rgba(255,210,77,.28);background:rgba(255,210,77,.08);border-radius:16px;color:#ffecad;padding:14px;font-weight:900}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:24px}.card span{font-size:2.4rem}.page-hero{text-align:center;display:grid;justify-items:center}.toolbar{display:grid;grid-template-columns:1fr 220px 220px;gap:12px;margin-bottom:20px}.toolbar input,.toolbar select,.stake-input{width:100%;border:1px solid rgba(255,210,77,.28);border-radius:14px;background:#100a0d;color:#fff;padding:13px;outline:0}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.slot-card{overflow:hidden;border:1px solid rgba(255,210,77,.28);border-radius:18px;background:#12070a;box-shadow:0 22px 60px rgba(0,0,0,.4);transition:.18s}.slot-card:hover{transform:translateY(-4px);border-color:#ffd24d}.slot-cover{height:190px;position:relative;padding:16px;display:grid;align-content:end;background:linear-gradient(135deg,var(--c1),var(--c2));overflow:hidden}.slot-cover:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 40% 40%,rgba(255,210,77,.45),transparent 28%),repeating-linear-gradient(45deg,transparent 0 20px,rgba(255,255,255,.05) 20px 40px);animation:bgMove 8s linear infinite}.slot-cover-inner{position:relative}.slot-cover .symbol-strip{display:flex;gap:6px;margin-bottom:10px}.slot-cover .symbol-strip img{width:42px;height:42px;border-radius:8px;box-shadow:0 10px 16px #0007}.slot-card-body{padding:16px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(255,210,77,.12);color:#ffd24d;border:1px solid rgba(255,210,77,.28);font-size:.75rem;font-weight:950;margin-right:5px}

/* DEFINITIVE SLOT PAGE */
.slot-page{overflow:hidden;background:#170102}.slot-page .topbar,.slot-page .footer{display:none}.slot-layout-new{max-width:100%;padding:0;margin:0}.slot-cabinet{height:100vh;width:100vw;overflow:hidden;padding:6px 10px 8px;display:grid;grid-template-columns:19.5vw 1fr 18.5vw;grid-template-rows:13vh 1fr 12vh;gap:8px;background:
radial-gradient(circle at 50% 18%,rgba(255,210,77,.34),transparent 18vw),
linear-gradient(135deg,var(--theme1),var(--theme2) 46%,#490006);
border:5px solid #d7a323;box-shadow:inset 0 0 0 3px #ffd966,inset 0 0 55px #000,0 0 80px #000}.cab-top{grid-column:1/4;display:grid;grid-template-columns:25% 50% 25%;align-items:center;gap:8px}.slot-title{font-family:Oswald,sans-serif;font-size:clamp(2rem,4vw,4.4rem);letter-spacing:.04em;text-align:center;text-transform:uppercase;color:#ffd24d;text-shadow:0 6px 0 #7b0508,0 0 25px #ffb300}.ornament{height:10vh;border:3px solid #d69b22;border-radius:10px;background:linear-gradient(180deg,#3d0609,#9b080e);box-shadow:inset 0 0 24px rgba(255,210,77,.22)}.left-panel,.right-panel{background:linear-gradient(180deg,rgba(95,5,8,.96),rgba(48,4,7,.96));border:3px solid #d69b22;border-radius:14px;box-shadow:inset 0 0 24px rgba(255,210,77,.18)}.left-panel{padding:10px;display:grid;grid-template-rows:auto repeat(5,1fr);gap:8px}.active-symbols{border:2px solid #ffcc45;padding:8px;border-radius:10px;background:#4c0508}.active-symbols b{display:block;margin-bottom:6px;font-size:1.05rem}.active-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.active-grid img{width:100%;border-radius:8px;background:#fff}.pay-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:linear-gradient(135deg,#ff6b00,#ffd24d);color:#2b0000;font-weight:950;border:2px solid #ffb300;font-size:clamp(.78rem,1.2vw,1.1rem)}.center-game{display:grid;grid-template-columns:3.2vw 1fr;gap:8px;min-width:0}.reel-label{writing-mode:vertical-rl;text-orientation:mixed;font-family:Oswald,sans-serif;font-size:clamp(1.4rem,2vw,2.6rem);color:#ffd24d;letter-spacing:.16em;text-align:center}.reel-frame{position:relative;background:#170506;border:5px solid #d69b22;border-radius:14px;padding:8px;box-shadow:inset 0 0 40px #000,0 15px 40px #0008;height:100%;display:flex}.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;flex:1}.reel-col{height:100%;overflow:hidden;background:#25090c;border:2px solid rgba(255,210,77,.38);border-radius:8px}.reel-strip{display:grid;gap:6px;height:100%}.symbol{height:calc((100vh - 13vh - 12vh - 48px) / 3);min-height:0;display:grid;place-items:center;background:linear-gradient(135deg,#ffe6a1,#fff3c9);border-radius:8px;border:3px solid #b98519;overflow:hidden}.symbol img{width:100%;height:100%;object-fit:cover}.reel-col.spinning .reel-strip{animation:spinReel .13s linear infinite}.win-line{position:absolute;left:12px;right:12px;top:50%;height:8px;border-radius:999px;background:linear-gradient(90deg,transparent,#fff,#ffd24d,#fff,transparent);opacity:0;box-shadow:0 0 22px #ffd24d;z-index:5}.win-line.show{animation:linePulse 1.2s infinite}.right-panel{padding:10px;display:grid;grid-template-rows:repeat(4,1fr) 1.42fr .72fr .72fr;gap:8px}.jackpot{border:3px solid #d69b22;border-radius:12px;background:#080403;padding:8px;text-align:center;display:grid;align-content:center}.jackpot h3{margin:0;font-family:Oswald,sans-serif;font-size:clamp(1.4rem,2.15vw,2.7rem)}.jackpot.grand h3{color:#ffd24d}.jackpot.major h3{color:#ff4fc3}.jackpot.minor h3{color:#26d9ff}.jackpot.mini h3{color:#00ff9d}.jackpot strong{font-size:clamp(1rem,1.8vw,2.1rem)}.spin-big{width:min(11vw,160px);height:min(11vw,160px);border-radius:50%;align-self:center;justify-self:center;border:10px solid #fff1b0;background:radial-gradient(circle,#ffd24d,#ff8a00 60%,#bd2300);box-shadow:0 0 35px #ffd24d;display:grid;place-items:center;font-size:clamp(2.4rem,4.2vw,4.8rem);color:#a00000;cursor:pointer}.cab-bottom{grid-column:1/4;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.meter{padding:8px;border:3px solid #d69b22;background:#2b0709;border-radius:10px;text-align:center;display:grid;align-content:center}.meter span{display:block;font-family:Oswald,sans-serif;font-size:clamp(1.2rem,1.9vw,2rem);color:#ffd24d}.meter strong{font-size:clamp(1.5rem,2.4vw,2.7rem)}.bet-controls{display:flex;align-items:center;justify-content:center;gap:10px}.bet-controls button{width:44px;height:44px;border-radius:12px;border:2px solid #ffd24d;background:#b9050c;color:#fff;font-weight:950}.bet-controls input{width:130px;text-align:center;background:#fff0c5;color:#260b00;font-weight:950}.slot-home{position:fixed;left:14px;top:14px;z-index:30;color:#fff;background:#0008;border:1px solid #ffd24d55;border-radius:12px;padding:8px 10px;font-weight:900}

/* SPORTSBOOK */
.sports-layout{display:grid;grid-template-columns:230px 1fr 370px;gap:18px;align-items:start}.sports-sidebar,.sports-panel,.betslip{background:#08101f;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:var(--shadow)}.sports-sidebar{padding:14px;position:sticky;top:86px}.sport-link{display:flex;justify-content:space-between;padding:12px;border-radius:12px;color:#d5ddf4;background:rgba(255,255,255,.04);margin-bottom:8px;cursor:pointer}.sport-link.active{background:linear-gradient(135deg,#00ff9d,#26d9ff);color:#061018;font-weight:950}.sports-hero{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#061d3a,#0f2c58);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.player-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px}.player-card{min-height:250px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));display:grid;place-items:end center;position:relative;overflow:hidden;padding-top:16px}.player-card img.player{height:245px;max-width:100%;position:relative;z-index:2;filter:drop-shadow(0 18px 22px #0008)}.player-card img.crest-bg{position:absolute;top:14px;width:120px;opacity:.18}.vs{font-family:Oswald,sans-serif;font-size:3rem;color:#ffd24d}.match-card{padding:16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);margin-bottom:14px}.match-card.featured{border-color:#ffd24d;background:linear-gradient(135deg,rgba(255,210,77,.1),rgba(0,255,157,.06))}.match-top{display:flex;justify-content:space-between;color:#9eabc8;font-size:.9rem}.teams-sports{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:14px 0}.team-card-mini{display:flex;align-items:center;gap:10px;font-weight:950}.team-card-mini.away{justify-content:flex-end;text-align:right}.team-card-mini img{width:54px;height:64px;object-fit:contain}.market-block{margin-top:14px}.market-title{font-weight:950;color:#dce6ff;margin-bottom:8px}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.market-btn{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#111a2d;color:#fff;cursor:pointer;text-align:left}.market-btn:hover{border-color:#00ff9d;background:#132c2b}.market-btn b{float:right;color:#00ff9d}.quick-coupon{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.coupon{padding:12px;border-radius:14px;background:#111a2d;border:1px solid rgba(255,255,255,.12);color:#fff;text-align:left;cursor:pointer}.coupon b{color:#00ff9d;float:right}.betslip{position:sticky;top:86px;padding:16px}.selection{padding:12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);margin:10px 0}.summary-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);padding:12px 0}.stake-input{background:#0c1424;border-color:rgba(255,255,255,.16)}.footer{display:grid;grid-template-columns:1fr auto auto;gap:40px;padding:40px min(5vw,76px);border-top:1px solid var(--line);color:#c6bda9}.footer img{width:190px}.footer div{display:grid;gap:8px}.modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.75);z-index:400}.modal.show{display:grid}.modal-card{text-align:center;padding:30px;border-radius:24px;background:linear-gradient(180deg,#5d0508,#1c0406);border:3px solid #ffd24d;box-shadow:0 0 80px #ffd24d55}.modal-card h2{font-family:Oswald,sans-serif;font-size:4rem;margin:0;color:#ffd24d}@keyframes bgMove{to{transform:rotate(360deg)}}@keyframes spinReel{from{transform:translateY(-156px)}to{transform:translateY(0)}}@keyframes linePulse{0%,100%{opacity:.25}50%{opacity:1}}@media(max-width:1180px){.hero,.sports-layout{grid-template-columns:1fr}.sports-sidebar,.betslip{position:static}.slots-grid{grid-template-columns:repeat(3,1fr)}.slot-cabinet{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;height:auto;min-height:100vh;overflow:auto}.cab-top,.cab-bottom{grid-column:1}.cab-top{grid-template-columns:1fr}.left-panel,.right-panel{display:none}.center-game{grid-template-columns:1fr}.reel-label{display:none}.symbol{height:132px}.quick-coupon{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{padding:12px 18px}.brand img{width:180px}.menu{display:block}.nav{display:none;position:absolute;top:72px;left:14px;right:14px;padding:16px;border-radius:18px;background:#08080c;border:1px solid var(--line);flex-direction:column;align-items:stretch}.nav.open{display:flex}.section{padding:55px 18px}.hero{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:3rem}.grid-3,.slots-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.slot-title{font-size:2.2rem}.cab-bottom{grid-template-columns:1fr}.market-grid,.quick-coupon{grid-template-columns:1fr}.player-wrap{grid-template-columns:1fr}.player-card{min-height:170px}.player-card img.player{height:170px}.vs{text-align:center}}

/* =========================
   V7 CASINO SUITE UPGRADES
   ========================= */
.casino-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.casino-preview-grid a{display:grid;gap:5px;padding:18px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,210,77,.22);font-weight:900}
.casino-preview-grid a:first-child{grid-column:1/3;background:linear-gradient(135deg,rgba(255,210,77,.2),rgba(209,11,16,.16))}
.casino-preview-grid a{font-size:1.7rem}.casino-preview-grid b{font-size:1rem}.casino-preview-grid span{font-size:.85rem;color:var(--muted)}
.fx-canvas{position:fixed;inset:0;pointer-events:none;z-index:20}
.slot-card .slot-type{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.75rem;font-weight:950;color:#fff}
.slot-audio-toggle{position:fixed;left:14px;top:54px;z-index:35;color:#fff;background:#0008;border:1px solid #ffd24d55;border-radius:12px;padding:8px 10px;font-weight:900;cursor:pointer}
.slot-cabinet.type-classic{grid-template-columns:22vw 1fr 20vw}
.slot-cabinet.type-classic .reels{grid-template-columns:repeat(3,1fr)}
.slot-cabinet.type-classic .reel-col:nth-child(n+4){display:none}
.slot-cabinet.type-megaways .symbol{height:calc((100vh - 13vh - 12vh - 56px) / 4)}
.slot-cabinet.type-megaways .reel-strip{grid-template-rows:repeat(4,1fr)}
.slot-cabinet.type-cascade .symbol{height:calc((100vh - 13vh - 12vh - 62px) / 5)}
.slot-cabinet.type-cascade .reel-strip{grid-template-rows:repeat(5,1fr)}
.slot-cabinet.type-jackpot .jackpot{box-shadow:0 0 22px rgba(255,210,77,.26)}
.slot-cabinet.type-jackpot .spin-big{animation:spinGlow 1.25s ease-in-out infinite}
.reel-col.spinning .reel-strip{animation:none}
.reel-strip.smooth-spin{will-change:transform;transition:transform .18s linear}
.symbol.win-pop{animation:winPop .55s ease both}
.cascade-drop{animation:cascadeDrop .48s cubic-bezier(.18,.9,.22,1.15)}
@keyframes spinGlow{0%,100%{box-shadow:0 0 24px #ffd24d}50%{box-shadow:0 0 60px #ffd24d}}
@keyframes winPop{0%{transform:scale(1)}50%{transform:scale(1.08);filter:brightness(1.35)}100%{transform:scale(1)}}
@keyframes cascadeDrop{0%{transform:translateY(-45px);opacity:.1}100%{transform:translateY(0);opacity:1}}

/* Casino games */
.casino-table{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start}
.game-panel,.roulette-panel,.card-table{background:linear-gradient(180deg,rgba(13,32,24,.96),rgba(4,13,9,.94));border:1px solid rgba(0,255,157,.22);border-radius:24px;box-shadow:var(--shadow);padding:22px}
.field{display:grid;gap:8px;color:#dce6ff;font-weight:900;margin:12px 0}
.roulette-layout{grid-template-columns:1fr 370px}
.roulette-panel{display:grid;justify-items:center;gap:20px}
.roulette-wheel{width:min(620px,80vw);aspect-ratio:1;border-radius:50%;position:relative;border:18px solid #2a0b08;background:conic-gradient(#0f7a3b 0deg 9.73deg,#b70a14 9.73deg 19.46deg,#111 19.46deg 29.19deg,#b70a14 29.19deg 38.92deg,#111 38.92deg 48.65deg,#b70a14 48.65deg 58.38deg,#111 58.38deg 68.11deg,#b70a14 68.11deg 77.84deg,#111 77.84deg 87.57deg,#b70a14 87.57deg 97.3deg,#111 97.3deg 107.03deg,#b70a14 107.03deg 116.76deg,#111 116.76deg 126.49deg,#b70a14 126.49deg 136.22deg,#111 136.22deg 145.95deg,#b70a14 145.95deg 155.68deg,#111 155.68deg 165.41deg,#b70a14 165.41deg 175.14deg,#111 175.14deg 184.87deg,#b70a14 184.87deg 194.6deg,#111 194.6deg 204.33deg,#b70a14 204.33deg 214.06deg,#111 214.06deg 223.79deg,#b70a14 223.79deg 233.52deg,#111 233.52deg 243.25deg,#b70a14 243.25deg 252.98deg,#111 252.98deg 262.71deg,#b70a14 262.71deg 272.44deg,#111 272.44deg 282.17deg,#b70a14 282.17deg 291.9deg,#111 291.9deg 301.63deg,#b70a14 301.63deg 311.36deg,#111 311.36deg 321.09deg,#b70a14 321.09deg 330.82deg,#111 330.82deg 340.55deg,#b70a14 340.55deg 350.28deg,#111 350.28deg 360deg);box-shadow:inset 0 0 0 9px #d7a323,inset 0 0 50px #000,0 30px 90px #0008;transition:transform 4s cubic-bezier(.12,.82,.12,1)}
.wheel-center{position:absolute;inset:31%;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#fff0a5,#b66b00);color:#2b0000;font-family:Oswald;font-size:2rem;font-weight:900;border:8px solid #2a0b08}
.roulette-ball{position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;left:50%;top:5%;transform:translateX(-50%);box-shadow:0 0 14px #fff;transition:transform 4s cubic-bezier(.12,.82,.12,1)}
.roulette-result{font-size:1.35rem;font-weight:950;color:#fff;text-align:center}
.roulette-bets{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bet-chip{border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:14px;background:#132033;color:#fff;font-weight:950;cursor:pointer}.bet-chip.red{background:#b70a14}.bet-chip.black{background:#070707}.bet-chip.active{outline:3px solid #ffd24d}
.card-table{min-height:560px;background:radial-gradient(circle at center,rgba(0,255,157,.12),transparent 28rem),linear-gradient(180deg,#0b4c2f,#052018);border:8px solid #5a2d08}
.cards-row{display:flex;gap:12px;flex-wrap:wrap;min-height:150px;align-items:center}
.play-card{width:104px;height:148px;border-radius:14px;background:#fff;color:#111;display:grid;place-items:center;font-size:2rem;font-weight:950;box-shadow:0 12px 30px #0008;border:3px solid #ddd;cursor:pointer;position:relative}
.play-card.red-card{color:#d10b10}.play-card.held{outline:5px solid #ffd24d;transform:translateY(-8px)}.play-card.back{background:linear-gradient(135deg,#5b0207,#d10b10);color:#ffd24d}
.table-message{padding:16px;margin:22px 0;border-radius:14px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);font-weight:950;text-align:center}
.poker-paytable{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.poker-paytable span{padding:10px;border-radius:12px;background:rgba(0,0,0,.22);font-size:.85rem;color:#e4fff4}
@media(max-width:980px){.casino-table,.roulette-layout{grid-template-columns:1fr}.poker-paytable{grid-template-columns:1fr 1fr}.casino-preview-grid{grid-template-columns:1fr}.casino-preview-grid a:first-child{grid-column:auto}}
@media(max-width:720px){.play-card{width:78px;height:112px}.roulette-wheel{width:92vw}.wheel-center{font-size:1.25rem}.roulette-bets{grid-template-columns:1fr}}


/* ==========================================================
   V8 PRO CASINO: better roulette / blackjack / poker / slots
   ========================================================== */
.fx-canvas{position:fixed;inset:0;pointer-events:none;z-index:20}
.slot-audio-toggle{position:fixed;left:14px;top:54px;z-index:35;color:#fff;background:#0009;border:1px solid #ffd24d77;border-radius:12px;padding:8px 10px;font-weight:900;cursor:pointer}
.slot-card .slot-type{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.75rem;font-weight:950;color:#fff}
.slot-card .slot-bonus{display:inline-flex;margin-top:8px;margin-left:6px;padding:5px 8px;border-radius:999px;background:rgba(255,210,77,.12);font-size:.75rem;font-weight:950;color:#ffd24d}
.slot-cabinet.type-classic{grid-template-columns:22vw 1fr 20vw}
.slot-cabinet.type-classic .reels{grid-template-columns:repeat(3,1fr)!important}
.slot-cabinet.type-classic .reel-col:nth-child(n+4){display:none}
.slot-cabinet.type-megaways .symbol{height:calc((100vh - 13vh - 12vh - 56px) / 4)}
.slot-cabinet.type-cascade .symbol,.slot-cabinet.type-cluster .symbol{height:calc((100vh - 13vh - 12vh - 62px) / 5)}
.slot-cabinet.type-jackpot .jackpot{box-shadow:0 0 24px rgba(255,210,77,.28)}
.slot-cabinet.type-bonus-wheel .reel-frame:after{content:"BONUS WHEEL";position:absolute;right:18px;top:18px;color:#ffd24d;font-family:Oswald;font-size:1.2rem;text-shadow:0 0 14px #000}
.slot-cabinet.type-hold-win .symbol:first-child{box-shadow:inset 0 0 24px rgba(255,210,77,.35)}
.slot-cabinet.type-jackpot .spin-big,.slot-cabinet.type-bonus-wheel .spin-big{animation:spinGlow 1.25s ease-in-out infinite}
.reel-col.spinning .reel-strip{animation:none!important}
.reel-strip{will-change:transform}
.symbol.win-pop{animation:winPop .55s ease both}
.cascade-drop{animation:cascadeDrop .48s cubic-bezier(.18,.9,.22,1.15)}
.screen-shake{animation:screenShake .32s linear}
@keyframes spinGlow{0%,100%{box-shadow:0 0 24px #ffd24d}50%{box-shadow:0 0 66px #ffd24d}}
@keyframes winPop{0%{transform:scale(1)}50%{transform:scale(1.09);filter:brightness(1.4)}100%{transform:scale(1)}}
@keyframes cascadeDrop{0%{transform:translateY(-55px);opacity:.08}100%{transform:translateY(0);opacity:1}}
@keyframes screenShake{0%,100%{transform:translate(0)}25%{transform:translate(5px,-3px)}50%{transform:translate(-4px,3px)}75%{transform:translate(3px,2px)}}

/* Roulette PRO */
.roulette-pro{display:grid;grid-template-columns:1fr 330px;gap:22px;align-items:start}
.roulette-stage{background:#07150e;border:10px solid #24160b;border-radius:26px;box-shadow:var(--shadow);overflow:hidden}
.roulette-top{height:310px;position:relative;background:radial-gradient(circle at center,#362011,#070b12 62%);display:grid;grid-template-columns:180px 1fr 180px;align-items:center;justify-items:center;padding:12px}
.roulette-wheel-pro{width:300px;height:300px;border-radius:50%;position:relative;border:18px solid #6b351b;background:conic-gradient(#0b7b39 0deg 9.73deg,#c8121d 9.73deg 19.46deg,#060606 19.46deg 29.19deg,#c8121d 29.19deg 38.92deg,#060606 38.92deg 48.65deg,#c8121d 48.65deg 58.38deg,#060606 58.38deg 68.11deg,#c8121d 68.11deg 77.84deg,#060606 77.84deg 87.57deg,#c8121d 87.57deg 97.3deg,#060606 97.3deg 107.03deg,#c8121d 107.03deg 116.76deg,#060606 116.76deg 126.49deg,#c8121d 126.49deg 136.22deg,#060606 136.22deg 145.95deg,#c8121d 145.95deg 155.68deg,#060606 155.68deg 165.41deg,#c8121d 165.41deg 175.14deg,#060606 175.14deg 184.87deg,#c8121d 184.87deg 194.6deg,#060606 194.6deg 204.33deg,#c8121d 204.33deg 214.06deg,#060606 214.06deg 223.79deg,#c8121d 223.79deg 233.52deg,#060606 233.52deg 243.25deg,#c8121d 243.25deg 252.98deg,#060606 252.98deg 262.71deg,#c8121d 262.71deg 272.44deg,#060606 272.44deg 282.17deg,#c8121d 282.17deg 291.9deg,#060606 291.9deg 301.63deg,#c8121d 301.63deg 311.36deg,#060606 311.36deg 321.09deg,#c8121d 321.09deg 330.82deg,#060606 330.82deg 340.55deg,#c8121d 340.55deg 350.28deg,#060606 350.28deg 360deg);box-shadow:inset 0 0 0 8px #d69b22,inset 0 0 50px #000,0 18px 70px #000;transition:transform 4.4s cubic-bezier(.1,.82,.1,1)}
.wheel-rotor{position:absolute;inset:31%;border-radius:50%;background:radial-gradient(circle,#e5c391,#7b3e1d);border:7px solid #2b1608}
.wheel-center-pro{position:absolute;inset:39%;display:grid;place-items:center;text-align:center;border-radius:50%;background:radial-gradient(circle,#fff1b0,#a76312);color:#2b0000;font-family:Oswald;font-size:1rem;font-weight:900;z-index:2}
.roulette-ball-pro{position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:50%;top:4%;transform:translateX(-50%);box-shadow:0 0 12px #fff;z-index:4;transition:transform 4.4s cubic-bezier(.12,.82,.12,1)}
.roulette-scoreboard,.roulette-limits{background:#16100a;border:2px solid #d69b22;border-radius:10px;color:#ffdf8e;padding:12px;text-align:center;font-weight:900}
.roulette-felt{background:#0c6b2a;padding:18px 20px 22px;border-top:6px solid #61320c;position:relative}
.roulette-grid-pro{display:grid;grid-template-columns:60px repeat(12,1fr);gap:4px;max-width:940px;margin:0 auto}
.r-cell{height:48px;border:2px solid rgba(255,255,255,.75);border-radius:4px;color:#fff;font-weight:950;display:grid;place-items:center;cursor:pointer;text-shadow:0 2px 0 #000;background:#111}
.r-cell.red{background:#d71920}.r-cell.black{background:#050505}.r-cell.zero{background:#0a8f42;grid-row:1/4;height:auto}
.r-cell.active{outline:4px solid #ffd24d;box-shadow:0 0 20px #ffd24d}
.outside-bets{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;max-width:940px;margin:8px auto 0}.outside-bets button{height:40px;background:#197a32;border:2px solid rgba(255,255,255,.7);color:#fff;font-weight:950;border-radius:4px;cursor:pointer}.outside-bets .red-cell{background:#d71920}.outside-bets .black-cell{background:#050505}
.chip-rack{display:flex;gap:10px;align-items:center;margin:18px 0 0 8px}.chip{width:44px;height:44px;border-radius:50%;border:5px dashed #fff;display:grid;place-items:center;font-weight:950;cursor:pointer;color:#111;box-shadow:0 8px 20px #0008}.chip.active{outline:4px solid #ffd24d}.c1{background:#e8f1ff}.c5{background:#fff}.c10{background:#ffd24d}.c25{background:#56a1ff}.c50{background:#9d72ff}.c100{background:#ff7956}
.roulette-actions{display:flex;justify-content:center;gap:18px;margin-top:-56px}.round-action{width:98px;height:98px;border-radius:50%;background:radial-gradient(circle,#ffd24d,#ff8a00);border:7px solid #0f391e;color:#0a2012;font-weight:950;box-shadow:0 12px 30px #0008;cursor:pointer}
.roulette-result{padding:16px;text-align:center;font-size:1.3rem;font-weight:950;color:#fff;background:#06100b}.roulette-side{position:sticky;top:86px}

/* Blackjack PRO */
.blackjack-pro{display:grid;grid-template-columns:1fr 330px;gap:22px}.bj-table{min-height:690px;position:relative;background:radial-gradient(ellipse at center,#16844f,#07351f 62%,#4a2509 63%,#8a4c1c 74%,#2b1306 75%);border-radius:48% 48% 20% 20%;border:12px solid #5a2d08;box-shadow:var(--shadow);overflow:hidden;padding:30px}
.bj-table:before{content:"BLACKJACK PAYS 3 TO 2";position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-family:Oswald;font-size:3.2rem;color:rgba(255,255,255,.16);letter-spacing:.08em}
.bj-shoe{position:absolute;right:40px;top:35px;width:90px;height:60px;background:#1b2233;border:4px solid #c8b178;border-radius:8px}
.bj-title{text-align:center;font-family:Oswald;font-size:2rem;color:#fff6c9;letter-spacing:.12em}
.dealer-zone-pro{text-align:center;position:relative;z-index:2}.dealer-zone-pro .cards-row{justify-content:center}.bj-message{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:4;background:#151515dd;border:1px solid #fff3;border-radius:10px;color:#fff;padding:14px 22px;font-weight:900;text-align:center;min-width:260px}
.bj-seats{position:absolute;left:35px;right:35px;bottom:88px;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;align-items:end}.bj-seat{min-height:170px;border:2px solid rgba(255,255,255,.35);border-radius:18px;padding:12px;text-align:center}.ghost-seat{display:grid;place-items:center;color:#fff8;opacity:.45}.player-seat{background:rgba(0,0,0,.18)}
.bj-chips{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:10px}.chip-stack-mini{width:46px;height:46px;border-radius:50%;background:#ffd24d;border:5px dashed #fff;color:#111;display:grid;place-items:center;font-weight:950;margin:6px auto}

/* Poker PRO */
.poker-pro{display:grid;grid-template-columns:1fr 330px;gap:22px}.poker-room{min-height:700px;position:relative;border-radius:28px;background:linear-gradient(180deg,#3a261a,#1a0e08);border:8px solid #5b2d10;box-shadow:var(--shadow);padding:24px;overflow:hidden}
.poker-room:before{content:"";position:absolute;left:10%;right:10%;top:12%;bottom:12%;border-radius:50%;background:radial-gradient(ellipse at center,#10834c,#07351f 70%);border:14px solid #3b1d0c;box-shadow:inset 0 0 40px #0008}
.poker-pot{position:absolute;left:50%;top:18%;transform:translateX(-50%);z-index:2;background:#122033;border:2px solid #8ae6ff;color:#e9fbff;border-radius:8px;padding:10px;text-align:center;font-weight:950}
.poker-board{position:absolute;left:50%;top:38%;transform:translateX(-50%);z-index:2;display:flex;gap:10px}.poker-board .play-card{width:86px;height:124px}
.poker-seat{position:absolute;z-index:2;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff;padding:12px;text-align:center}.seat-top{left:50%;top:6%;transform:translateX(-50%)}.seat-left{left:8%;top:42%}.seat-right{right:8%;top:42%}
.poker-hero-hand{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);z-index:2;text-align:center}.poker-hero-hand .cards-row{justify-content:center}
.poker-room .table-message{position:absolute;left:50%;bottom:31%;transform:translateX(-50%);z-index:4;background:#111b;color:#fff}
.poker-stats-panel{position:absolute;left:14px;bottom:14px;width:210px;z-index:3;background:#e9e9e9;color:#111;border:1px solid #777;display:grid;gap:3px;padding:8px;font-size:.78rem}

/* Shared cards */
.game-panel,.roulette-panel,.card-table{background:linear-gradient(180deg,rgba(13,32,24,.96),rgba(4,13,9,.94));border:1px solid rgba(0,255,157,.22);border-radius:24px;box-shadow:var(--shadow);padding:22px}.field{display:grid;gap:8px;color:#dce6ff;font-weight:900;margin:12px 0}
.cards-row{display:flex;gap:12px;flex-wrap:wrap;min-height:145px;align-items:center}.play-card{width:104px;height:148px;border-radius:14px;background:#fff;color:#111;display:grid;place-items:center;font-size:2rem;font-weight:950;box-shadow:0 12px 30px #0008;border:3px solid #ddd;cursor:pointer;position:relative}.play-card.red-card{color:#d10b10}.play-card.held{outline:5px solid #ffd24d;transform:translateY(-8px)}.play-card.back{background:linear-gradient(135deg,#5b0207,#d10b10);color:#ffd24d}
@media(max-width:1100px){.roulette-pro,.blackjack-pro,.poker-pro{grid-template-columns:1fr}.roulette-side{position:static}.roulette-top{grid-template-columns:1fr;height:auto}.roulette-wheel-pro{margin:12px 0}.outside-bets{grid-template-columns:repeat(3,1fr)}.roulette-actions{margin-top:16px}.bj-table,.poker-room{min-height:760px}}
@media(max-width:760px){.roulette-grid-pro{grid-template-columns:44px repeat(6,1fr)}.r-cell{height:42px;font-size:.82rem}.outside-bets{grid-template-columns:1fr 1fr}.play-card{width:78px;height:112px}.poker-board .play-card{width:62px;height:90px}.bj-seats{grid-template-columns:1fr;position:relative;left:auto;right:auto;bottom:auto;margin-top:180px}.poker-room{min-height:760px}.poker-stats-panel{display:none}}


/* =========================================================
   V10 REBUILD: realistic roulette + optimized slots
   ========================================================= */

/* Hide old roulette blocks if any duplicated */
.roulette-pro{display:none!important}

/* Slots performance */
.fx-canvas{position:fixed;inset:0;pointer-events:none;z-index:20}
.slot-audio-toggle,.slot-fx-toggle{position:fixed;left:14px;z-index:35;color:#fff;background:#0009;border:1px solid #ffd24d77;border-radius:12px;padding:8px 10px;font-weight:900;cursor:pointer}
.slot-audio-toggle{top:54px}.slot-fx-toggle{top:94px}
.slot-card .slot-type{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.75rem;font-weight:950;color:#fff}
.slot-card .slot-bonus{display:inline-flex;margin-top:8px;margin-left:6px;padding:5px 8px;border-radius:999px;background:rgba(255,210,77,.12);font-size:.75rem;font-weight:950;color:#ffd24d}
.slot-cover .symbol-strip img{object-fit:cover;background:#fff}
.symbol img{object-fit:cover}
.slot-cabinet.type-classic{grid-template-columns:22vw 1fr 20vw}
.slot-cabinet.type-classic .reels{grid-template-columns:repeat(3,1fr)!important}
.slot-cabinet.type-classic .reel-col:nth-child(n+4){display:none}
.slot-cabinet.type-megaways .symbol{height:calc((100vh - 13vh - 12vh - 56px) / 4)}
.slot-cabinet.type-cascade .symbol,.slot-cabinet.type-cluster .symbol{height:calc((100vh - 13vh - 12vh - 62px) / 5)}
.slot-cabinet.type-jackpot .jackpot{box-shadow:0 0 24px rgba(255,210,77,.28)}
.slot-cabinet.type-bonus-wheel .reel-frame:after{content:"BONUS WHEEL";position:absolute;right:18px;top:18px;color:#ffd24d;font-family:Oswald;font-size:1.2rem;text-shadow:0 0 14px #000}
.slot-cabinet.type-jackpot .spin-big,.slot-cabinet.type-bonus-wheel .spin-big{animation:spinGlow 1.35s ease-in-out infinite}
.reel-col.spinning .reel-strip{animation:none!important}
.reel-strip{will-change:transform}
.symbol.win-pop{animation:winPop .55s ease both}
.cascade-drop{animation:cascadeDrop .42s cubic-bezier(.18,.9,.22,1.15)}
.screen-shake{animation:screenShake .25s linear}
@keyframes spinGlow{0%,100%{box-shadow:0 0 24px #ffd24d}50%{box-shadow:0 0 66px #ffd24d}}
@keyframes winPop{0%{transform:scale(1)}50%{transform:scale(1.09);filter:brightness(1.4)}100%{transform:scale(1)}}
@keyframes cascadeDrop{0%{transform:translateY(-45px);opacity:.08}100%{transform:translateY(0);opacity:1}}
@keyframes screenShake{0%,100%{transform:translate(0)}25%{transform:translate(3px,-2px)}50%{transform:translate(-3px,2px)}75%{transform:translate(2px,1px)}}

/* Roulette V10 */
.roulette-intro{padding-bottom:30px}
.roulette-v10{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;padding-top:20px}
.roulette-casino{border-radius:28px;overflow:hidden;background:#06120d;border:10px solid #2a1608;box-shadow:0 34px 120px rgba(0,0,0,.65)}
.roulette-wheel-area{height:380px;position:relative;background:
radial-gradient(circle at center,#5a341a 0 16%,#21100b 18% 30%,#060914 58%,#03050b 100%);
display:grid;grid-template-columns:190px 1fr 190px;align-items:center;justify-items:center;padding:16px}
.roulette-canvas-wrap{position:relative;width:min(360px,70vw);height:min(360px,70vw);filter:drop-shadow(0 28px 38px rgba(0,0,0,.62))}
#rouletteCanvas{width:100%;height:100%;display:block}
.roulette-pointer{position:absolute;left:50%;top:-17px;transform:translateX(-50%);font-size:34px;color:#ffd24d;text-shadow:0 3px 0 #000,0 0 12px #ffd24d;z-index:5}
.roulette-history-box,.roulette-limit-box{background:linear-gradient(180deg,#22170d,#070707);border:2px solid #d7a323;border-radius:12px;color:#ffebae;padding:12px;text-align:center;font-weight:900;box-shadow:0 12px 28px #0008}
.roulette-history-box b,.roulette-limit-box b{display:block;color:#fff;margin-bottom:6px}.roulette-last-list{font-size:1.1rem}.roulette-limit-box span{display:block;margin:4px 0}
.roulette-felt-v10{background:radial-gradient(circle at center,#0f8e40,#08672b 60%,#03431b);padding:18px 22px 24px;border-top:8px solid #7a451a;position:relative}
.roulette-table-v10{display:grid;grid-template-columns:70px repeat(12,1fr);grid-template-rows:repeat(3,52px);gap:4px;max-width:1000px;margin:0 auto}
.r-cell-v10{position:relative;border:2px solid rgba(255,255,255,.82);border-radius:5px;color:#fff;font-weight:950;display:grid;place-items:center;cursor:pointer;text-shadow:0 2px 0 #000;font-size:1.05rem;background:#111;transition:.12s transform,.12s filter}
.r-cell-v10:hover{transform:translateY(-2px);filter:brightness(1.15)}
.r-cell-v10.red{background:linear-gradient(180deg,#f71f26,#a7040b)}
.r-cell-v10.black{background:linear-gradient(180deg,#262626,#030303)}
.r-cell-v10.zero{background:linear-gradient(180deg,#12a751,#056b2e);grid-row:1/4;height:auto;font-size:1.6rem}
.r-cell-v10.selected,.outside-selected{outline:4px solid #ffd24d!important;box-shadow:0 0 22px rgba(255,210,77,.85)!important}
.placed-chip{position:absolute;right:4px;bottom:4px;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,#fff,#ffd24d 45%,#d71920 46%,#fff 54%,#1539ff 56%);border:2px solid #fff;display:grid;place-items:center;font-size:.55rem;color:#111;font-weight:950;box-shadow:0 4px 10px #0008}
.roulette-outside-v10{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;max-width:1000px;margin:8px auto 0}
.roulette-outside-v10 button{height:42px;background:rgba(25,122,50,.95);border:2px solid rgba(255,255,255,.75);color:#fff;font-weight:950;border-radius:5px;cursor:pointer;text-shadow:0 2px 0 #000;position:relative}
.roulette-outside-v10 .red-cell{background:linear-gradient(180deg,#f71f26,#a7040b)}
.roulette-outside-v10 .black-cell{background:linear-gradient(180deg,#262626,#030303)}
.roulette-chipbar-v10{display:flex;gap:10px;align-items:center;margin:18px 0 0 10px;flex-wrap:wrap}
.chip{width:46px;height:46px;border-radius:50%;border:5px dashed #fff;display:grid;place-items:center;font-weight:950;cursor:pointer;color:#111;box-shadow:0 8px 20px #0008}
.chip.active{outline:4px solid #ffd24d}.c1{background:#e8f1ff}.c5{background:#fff}.c10{background:#ffd24d}.c25{background:#56a1ff}.c50{background:#9d72ff}.c100{background:#ff7956}
.roulette-controls-v10{display:flex;justify-content:center;gap:18px;margin-top:-56px}
.round-action{width:98px;height:98px;border-radius:50%;background:radial-gradient(circle,#ffd24d,#ff8a00);border:7px solid #0f391e;color:#0a2012;font-weight:950;box-shadow:0 12px 30px #0008;cursor:pointer}
.round-action.main{transform:scale(1.1);background:radial-gradient(circle,#fff1a8,#ff9b00 60%,#bd2300);border-color:#fff1a8}
.roulette-result{padding:16px;text-align:center;font-size:1.28rem;font-weight:950;color:#fff;background:#06100b}
.roulette-ticket-v10{position:sticky;top:86px;background:linear-gradient(180deg,#091528,#06101e);border:1px solid rgba(38,217,255,.18);border-radius:22px;box-shadow:var(--shadow);padding:20px}
.roulette-ticket-v10 h2{margin-top:0}
@media(max-width:1120px){.roulette-v10{grid-template-columns:1fr}.roulette-ticket-v10{position:static}.roulette-wheel-area{grid-template-columns:1fr;height:auto;gap:14px}.roulette-controls-v10{margin-top:18px}.roulette-table-v10{grid-template-columns:56px repeat(6,1fr);grid-template-rows:auto}.r-cell-v10.zero{grid-row:auto}.roulette-outside-v10{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.roulette-v10{padding-left:12px;padding-right:12px}.roulette-table-v10{grid-template-columns:48px repeat(3,1fr)}.roulette-outside-v10{grid-template-columns:1fr 1fr}.roulette-wheel-area{padding:12px}.round-action{width:82px;height:82px;font-size:.72rem}.roulette-controls-v10{gap:10px}.roulette-chipbar-v10{justify-content:center}}


/* V11 PROFESSIONAL ROULETTE */
.roulette-v10,.roulette-pro,.roulette-casino{display:none!important}
.roulette-pro-app{max-width:1540px;margin:0 auto;padding:42px min(4vw,58px) 70px}
.roulette-live-header{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:24px}
.roulette-live-header h1{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(2.4rem,4.4vw,5.2rem);line-height:.9;margin:14px 0 6px}
.roulette-live-header p{margin:0}.roulette-live-status{min-width:170px;padding:14px 18px;border-radius:18px;background:linear-gradient(180deg,#071422,#060910);border:1px solid rgba(38,217,255,.25);box-shadow:0 18px 55px rgba(0,0,0,.38);display:grid;gap:3px}.live-dot{width:11px;height:11px;border-radius:50%;background:#00ff9d;box-shadow:0 0 18px #00ff9d}
.roulette-layout-pro{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}
.roulette-main-pro{overflow:hidden;border-radius:30px;background:linear-gradient(180deg,#050812,#03060b);border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 120px rgba(0,0,0,.68)}
.roulette-studio{position:relative;background:radial-gradient(circle at 50% 16%,rgba(255,210,77,.16),transparent 23rem),radial-gradient(circle at 50% 55%,rgba(114,54,20,.45),transparent 18rem),linear-gradient(180deg,#080c16 0%,#03050a 100%);border-bottom:8px solid #6d3516}
.roulette-camera-bar{min-height:88px;padding:18px 22px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:18px;position:relative;z-index:3}
.roulette-history-pro,.roulette-timer,.roulette-limits-pro{background:linear-gradient(180deg,rgba(18,20,25,.96),rgba(5,7,12,.96));border:1px solid rgba(255,210,77,.36);border-radius:16px;padding:12px 14px;color:#fff8e6;box-shadow:0 18px 44px rgba(0,0,0,.44)}
.roulette-history-pro span,.roulette-timer span,.roulette-limits-pro span{display:block;color:#c6bda9;font-size:.82rem;font-weight:900;margin-bottom:6px}.roulette-timer{min-width:138px;text-align:center}.roulette-timer strong{font-family:Oswald;color:#ffd24d;font-size:2.1rem}.roulette-limits-pro{justify-self:end;min-width:138px;text-align:center}
.roulette-last-pills{display:flex;gap:8px;flex-wrap:wrap}.roulette-last-pills b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;border:2px solid rgba(255,255,255,.65);box-shadow:0 8px 20px rgba(0,0,0,.5)}.roulette-last-pills .red{background:#cf1018}.roulette-last-pills .black{background:#090909}.roulette-last-pills .green{background:#078a3e}
.roulette-wheel-stage-pro{position:relative;min-height:462px;display:grid;place-items:center;perspective:900px;padding:0 18px 36px}.roulette-wheel-shadow{position:absolute;width:min(570px,72vw);height:88px;bottom:42px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.75),transparent 70%);filter:blur(4px)}
.roulette-canvas-real{position:relative;width:min(500px,68vw);aspect-ratio:1;transform:rotateX(58deg);transform-style:preserve-3d}#rouletteCanvas{width:100%;height:100%;display:block;transform:translateZ(0);filter:drop-shadow(0 30px 40px rgba(0,0,0,.62))}
.roulette-pointer-real{position:absolute;left:50%;top:-18px;width:0;height:0;transform:translateX(-50%);border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:34px solid #ffd24d;filter:drop-shadow(0 4px 0 #6e3800) drop-shadow(0 0 10px #ffd24d);z-index:20}
.roulette-table-area-pro{background:radial-gradient(circle at 50% 20%,rgba(0,255,157,.10),transparent 24rem),linear-gradient(180deg,#0b6d30,#05451e 66%,#032c15);padding:18px 22px 24px}
.roulette-table-head{max-width:1060px;margin:0 auto 14px;display:flex;justify-content:space-between;align-items:center;gap:14px}.roulette-table-head b{display:block;font-size:1.1rem}.roulette-table-head span{color:#c9ffe1;font-size:.9rem}.roulette-table-wrap{max-width:1060px;margin:0 auto}
.roulette-table-v11{display:grid;grid-template-columns:74px repeat(12,1fr);grid-template-rows:repeat(3,58px);gap:5px}.r-cell-v11{position:relative;border:2px solid rgba(255,255,255,.82);border-radius:6px;color:#fff;font-weight:950;display:grid;place-items:center;cursor:pointer;text-shadow:0 2px 0 #000;font-size:1.08rem;background:#111;transition:.12s;box-shadow:inset 0 0 14px rgba(255,255,255,.08)}.r-cell-v11:hover{transform:translateY(-2px);filter:brightness(1.18)}.r-cell-v11.red{background:linear-gradient(180deg,#f51c27,#b0000b)}.r-cell-v11.black{background:linear-gradient(180deg,#292929,#030303)}.r-cell-v11.zero{background:linear-gradient(180deg,#10a84d,#057132);grid-row:1/4;height:auto;font-size:1.7rem}
.r-cell-v11.selected,.roulette-dozens-v11 button.selected,.roulette-outside-v11 button.selected{outline:4px solid #ffd24d!important;box-shadow:0 0 26px rgba(255,210,77,.82), inset 0 0 15px rgba(255,255,255,.2)!important}
.roulette-dozens-v11{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:6px}.roulette-outside-v11{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:6px}.roulette-dozens-v11 button,.roulette-outside-v11 button{min-height:48px;border:2px solid rgba(255,255,255,.78);border-radius:6px;background:linear-gradient(180deg,#168f42,#075f2a);color:#fff;font-weight:950;text-shadow:0 2px 0 #000;cursor:pointer;position:relative}.roulette-outside-v11 .red-cell{background:linear-gradient(180deg,#f51c27,#b0000b)}.roulette-outside-v11 .black-cell{background:linear-gradient(180deg,#292929,#030303)}
.roulette-bottom-pro{max-width:1060px;margin:18px auto 0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.chip-rack-pro{display:flex;gap:10px;flex-wrap:wrap}.placed-chip{position:absolute;right:5px;bottom:5px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,#fff,#ffd24d 42%,#e01620 44%,#fff 53%,#123cff 56%);border:2px solid #fff;display:grid;place-items:center;font-size:.58rem;color:#111;font-weight:950;box-shadow:0 6px 14px #0009;z-index:2}
.roulette-action-bar{display:flex;gap:12px;align-items:center}.action-pill,.action-spin{border:0;cursor:pointer;font-weight:950;color:#09100c}.action-pill{min-height:52px;padding:0 20px;border-radius:999px;background:linear-gradient(180deg,#e9f1f5,#98a7b3);box-shadow:0 10px 22px rgba(0,0,0,.35)}.action-spin{width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,#fff1a8 0 16%,#ffb52e 17% 54%,#ff7a00 76%,#8a2e00 100%);border:9px solid #fff3b8;box-shadow:0 0 34px rgba(255,210,77,.55),0 18px 34px rgba(0,0,0,.5);font-size:1.2rem}
.roulette-result-pro{padding:17px;text-align:center;font-size:1.28rem;font-weight:950;color:#fff;background:#06100b;border-top:1px solid rgba(255,255,255,.08)}.roulette-ticket-pro{position:sticky;top:86px;border-radius:24px;padding:20px;background:linear-gradient(180deg,#081528,#030712);border:1px solid rgba(38,217,255,.22);box-shadow:0 34px 100px rgba(0,0,0,.48)}.ticket-head{display:grid;gap:4px;margin-bottom:18px}.ticket-head span{color:#9fb3d1;font-size:.88rem;font-weight:900}.ticket-head b{font-size:1.55rem}.ticket-selection{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}.ticket-selection span{color:#cdd9ed;font-weight:800}.ticket-selection strong{color:#fff;text-align:right}.ticket-note{margin-top:18px;border-radius:16px;padding:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}.ticket-note p{margin:6px 0 0;font-size:.9rem}
@media(max-width:1180px){.roulette-layout-pro{grid-template-columns:1fr}.roulette-ticket-pro{position:static}.roulette-camera-bar{grid-template-columns:1fr}.roulette-limits-pro{justify-self:stretch}}@media(max-width:780px){.roulette-pro-app{padding:24px 12px 50px}.roulette-live-header{display:grid}.roulette-table-v11{grid-template-columns:54px repeat(6,1fr);grid-template-rows:auto}.r-cell-v11.zero{grid-row:auto}.roulette-dozens-v11,.roulette-outside-v11{grid-template-columns:1fr 1fr}.roulette-wheel-stage-pro{min-height:300px}.roulette-canvas-real{width:min(330px,86vw)}.action-spin{width:94px;height:94px}}


/* =========================================================
   V12 PROFESSIONAL CASINO LOBBY
   Original design inspired by modern casino UX, not copied
   ========================================================= */
.casino-topbar-v12{background:rgba(4,6,12,.92);border-bottom:1px solid rgba(255,255,255,.1)}
.casino-landing-v12{overflow:hidden}
.hero-casino-v12{max-width:1540px;margin:0 auto;padding:72px min(4vw,58px) 34px;display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center}
.hero-copy-v12 h1{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;letter-spacing:-.055em;font-size:clamp(3rem,6.2vw,7rem);line-height:.86;margin:18px 0;text-shadow:0 8px 0 rgba(0,0,0,.2)}
.hero-copy-v12 p{max-width:760px;font-size:1.08rem}
.trust-row-v12{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.trust-row-v12 span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-weight:900;color:#fff}
.hero-machine-v12{position:relative;border-radius:30px;background:
radial-gradient(circle at 35% 20%,rgba(255,210,77,.38),transparent 16rem),
linear-gradient(145deg,#4c0508,#09080d 58%,#151128);border:2px solid rgba(255,210,77,.35);box-shadow:0 34px 120px rgba(0,0,0,.6);padding:20px;overflow:hidden}
.hero-machine-v12:before{content:"";position:absolute;inset:-40%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.06) 0 8deg,transparent 8deg 18deg);animation:bgMove 14s linear infinite}
.hero-machine-v12>*{position:relative}
.hero-top-v12{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#ffdf8e;font-weight:950;margin-bottom:18px}
.hero-reels-v12{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;background:#140406;border:5px solid #d69b22;border-radius:18px;padding:10px}
.hero-reels-v12 img{width:100%;aspect-ratio:1;border-radius:12px;object-fit:cover;background:#fff;box-shadow:0 14px 30px #0008}
.hero-jackpots-v12{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.hero-jackpots-v12 div{border-radius:16px;background:#070707;border:2px solid #d69b22;padding:14px;text-align:center}
.hero-jackpots-v12 span{display:block;color:#ffd24d;font-family:Oswald;font-size:1.35rem}
.hero-jackpots-v12 b{font-size:1.25rem}
.casino-strip-v12{max-width:1540px;margin:0 auto;padding:0 min(4vw,58px) 32px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.casino-strip-v12 a{display:grid;gap:4px;padding:18px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 60px rgba(0,0,0,.25);transition:.18s}
.casino-strip-v12 a:hover{transform:translateY(-3px);border-color:#ffd24d}
.casino-strip-v12 span{font-size:2rem}.casino-strip-v12 b{font-size:1.05rem}.casino-strip-v12 small{color:#c6bda9}
.casino-section-v12{padding-top:34px}
.section-title-v12{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}
.section-title-v12 h2,.promo-band-v12 h2{font-family:Oswald;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:.92;margin:8px 0}
.game-grid-v12{display:grid;grid-template-columns:1.2fr repeat(2,1fr);grid-auto-rows:220px;gap:16px}
.game-card-v12{position:relative;overflow:hidden;border-radius:24px;padding:22px;background:#111;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 90px rgba(0,0,0,.45);display:grid;align-content:end;transition:.18s}
.game-card-v12:hover{transform:translateY(-4px);border-color:#ffd24d}
.game-card-v12:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,210,77,.38),transparent 18rem),linear-gradient(140deg,#5e0810,#07070c);z-index:0}
.game-card-v12>*{position:relative;z-index:1}
.game-card-v12.big{grid-row:span 2;background:#06100b}
.game-card-v12.big:before{background:radial-gradient(circle at 50% 20%,rgba(255,210,77,.34),transparent 20rem),linear-gradient(180deg,#10151f,#06381b)}
.game-card-v12.slot-a:before{background:radial-gradient(circle at 30% 20%,rgba(255,210,77,.45),transparent 14rem),linear-gradient(145deg,#7c060a,#1b0305)}
.game-card-v12.slot-b:before{background:radial-gradient(circle at 30% 20%,rgba(255,111,0,.45),transparent 14rem),linear-gradient(145deg,#5a0814,#11060a)}
.game-card-v12.slot-c:before{background:radial-gradient(circle at 30% 20%,rgba(38,217,255,.45),transparent 14rem),linear-gradient(145deg,#090735,#09060e)}
.game-card-v12.table:before{background:radial-gradient(circle at 30% 20%,rgba(0,255,157,.28),transparent 14rem),linear-gradient(145deg,#05351f,#070b0c)}
.game-card-v12 h3{font-size:1.75rem;margin:0 0 8px}
.game-card-v12 p{margin:0;color:#efe6d0}
.game-label{position:absolute;left:20px;top:18px;padding:7px 10px;border-radius:999px;background:#ffd24d;color:#260b00;font-weight:950}
.game-card-v12 button{width:max-content;margin-top:18px;border:0;border-radius:999px;padding:12px 18px;background:#ffd24d;color:#260b00;font-weight:950}
.promo-band-v12{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px;border-radius:28px;background:linear-gradient(135deg,rgba(255,210,77,.14),rgba(38,217,255,.08));border:1px solid rgba(255,255,255,.12)}
.slots-pro-v12{overflow:hidden}
.slots-hero-v12{max-width:1540px;margin:0 auto;padding:66px min(4vw,58px) 18px;display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:end}
.slots-hero-v12 h1{font-family:Oswald;text-transform:uppercase;letter-spacing:-.05em;font-size:clamp(3rem,5.6vw,6.2rem);line-height:.88;margin:16px 0}
.slots-hero-panel-v12{border-radius:24px;background:linear-gradient(180deg,#1a1014,#09070c);border:1px solid rgba(255,210,77,.25);padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.slots-hero-panel-v12 b{display:block;font-size:1.35rem;margin-bottom:7px;color:#ffd24d}
.toolbar-v12{position:sticky;top:74px;z-index:4;padding:14px;border-radius:20px;background:rgba(5,6,11,.78);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1)}
.slots-grid-v12 .slot-card{border-radius:22px;background:linear-gradient(180deg,#170b10,#09070b)}
.slots-grid-v12 .slot-cover{height:220px}
@media(max-width:1120px){.hero-casino-v12,.slots-hero-v12{grid-template-columns:1fr}.casino-strip-v12{grid-template-columns:repeat(2,1fr)}.game-grid-v12{grid-template-columns:1fr 1fr}.game-card-v12.big{grid-row:auto}.promo-band-v12{display:grid}}
@media(max-width:720px){.hero-casino-v12{padding:40px 16px 24px}.casino-strip-v12{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.game-grid-v12{grid-template-columns:1fr}.hero-jackpots-v12{grid-template-columns:1fr}.slots-hero-v12{padding:42px 16px 16px}}


/* =========================================================
   V13 REALISTIC SLOTS + ROULETTE REFINEMENT
   ========================================================= */
.v13-slot-page .topbar,.v13-slot-page .footer{display:none!important}
.v13-slot-shell{
  width:100vw;height:100vh;overflow:hidden;
  background:radial-gradient(circle at 50% 8%,rgba(255,210,77,.18),transparent 26rem),linear-gradient(180deg,#05050b,#120006);
  color:#fff;
  display:grid;grid-template-rows:74px 1fr 108px;
  border:5px solid #c18014;
}
.v13-slot-top{
  display:grid;grid-template-columns:210px 1fr 360px;gap:14px;align-items:center;
  padding:8px 14px;background:linear-gradient(180deg,#f6a000,#9b1506 42%,#2a0506);
  border-bottom:5px solid #3e1405;
}
.v13-slot-title{
  text-align:center;font-family:Oswald,Arial,sans-serif;font-size:clamp(2.2rem,4vw,4.8rem);
  color:#ffd24d;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 5px 0 #7a0000,0 0 18px #ff9100;
}
.v13-slot-nav{display:flex;gap:8px;align-items:center}
.v13-slot-nav a,.v13-slot-nav button{border:2px solid #ffd24d;background:#230506;color:#fff;border-radius:10px;padding:8px 10px;font-weight:950;cursor:pointer}
.v13-mini-jackpots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.v13-mini-jackpots div{background:#070707;border:2px solid #ffd24d;border-radius:10px;text-align:center;padding:7px}
.v13-mini-jackpots span{display:block;color:#ffd24d;font-family:Oswald;font-size:1.05rem}.v13-mini-jackpots b{font-size:1rem}
.v13-slot-main{
  display:grid;grid-template-columns:86px 1fr 245px;gap:12px;min-height:0;
  padding:14px;background:radial-gradient(circle at 50% 50%,rgba(255,210,77,.12),transparent 24rem),linear-gradient(90deg,#4b0012,#140015 18%,#140015 82%,#4b0012);
}
.v13-lines{
  border:4px solid #464646;background:linear-gradient(180deg,#202020,#060606);
  border-radius:16px;display:grid;place-items:center;color:#e4f8ff;font-family:Oswald;font-size:1.15rem;text-align:center;box-shadow:inset 0 0 24px #000;
}
.v13-lines span{writing-mode:vertical-rl;letter-spacing:.16em}
.v13-reel-stage{
  position:relative;border:9px solid #222;border-radius:22px;background:#050505;
  box-shadow:inset 0 0 45px #000,0 0 0 5px #c8c8c8,0 22px 70px #000a;
  overflow:hidden;
}
.v13-stage-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 45%,rgba(0,0,0,.55));z-index:5}
.v13-payline{position:absolute;left:0;right:0;height:4px;background:#5aff25;box-shadow:0 0 16px #5aff25;z-index:8;opacity:.8}
.v13-payline.one{top:50%}.v13-payline.two{top:22%;transform:rotate(6deg)}.v13-payline.three{top:78%;transform:rotate(-6deg)}
.v13-reels{height:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#0b0b0b}
.v13-reel{
  overflow:hidden;position:relative;
  background:linear-gradient(90deg,#0b0b0b,#2b1515 50%,#0b0b0b);
  border-left:2px solid rgba(255,255,255,.12);border-right:2px solid rgba(0,0,0,.8);
}
.v13-reel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 20%,transparent 80%,rgba(0,0,0,.55));z-index:3;pointer-events:none}
.v13-strip{height:100%;display:grid;grid-template-rows:repeat(3,1fr);will-change:transform}
.v13-symbol{
  display:grid;place-items:center;min-height:0;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.06),transparent 58%);
}
.v13-symbol img{width:92%;height:86%;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(0,0,0,.75))}
.v13-symbol.win{animation:v13Win .6s ease both}
@keyframes v13Win{0%{transform:scale(1)}50%{transform:scale(1.14);filter:brightness(1.45)}100%{transform:scale(1)}}
.v13-side{
  display:grid;grid-template-rows:repeat(3,1fr);gap:10px;
}
.v13-side-box{
  border-radius:16px;background:linear-gradient(180deg,#101010,#030303);
  border:3px solid #c8c8c8;padding:12px;display:grid;align-content:center;text-align:center;
  box-shadow:inset 0 0 22px #000;
}
.v13-side-box span{font-family:Oswald;font-size:1.4rem;color:#ffd24d}.v13-side-box b{font-size:1.25rem}
.v13-controls{
  display:grid;grid-template-columns:150px 190px 1fr 210px 160px 170px;gap:10px;align-items:center;
  padding:10px 14px;background:linear-gradient(180deg,#1b1b1b,#050505);border-top:5px solid #c18014;
}
.v13-meter{height:74px;border-radius:12px;background:#070707;border:2px solid #474747;padding:8px 10px;display:grid;align-content:center}
.v13-meter span{color:#cfcfcf;font-size:.82rem;font-weight:900}.v13-meter b{font-size:1.45rem;color:#fff}
.v13-betbox{display:grid;grid-template-columns:44px 1fr 44px;gap:6px;align-items:center}
.v13-betbox button{height:44px;border-radius:8px;border:2px solid #d7d7d7;background:linear-gradient(180deg,#f6f6f6,#9b9b9b);font-weight:950}
.v13-betbox input{height:44px;text-align:center;background:#050505;color:#ff3131;border:2px solid #333;border-radius:8px;font-size:1.35rem;font-weight:950}
.v13-message{height:74px;border-radius:999px;background:#2a0606;border:2px solid #642020;display:grid;place-items:center;color:#fff;font-weight:950}
.v13-spin{height:88px;border-radius:22px;border:4px solid #e8e8e8;background:linear-gradient(180deg,#fff,#d4d4d4);color:#555;font-size:2rem;font-weight:950;box-shadow:inset 0 0 18px #fff,0 10px 24px #0009;cursor:pointer}
.v13-spin.active{background:linear-gradient(180deg,#7fff5f,#10bf1a);color:#071707;border-color:#fff}
.v13-auto{height:68px;border-radius:14px;border:3px solid #ccc;background:linear-gradient(180deg,#f7f7f7,#bdbdbd);font-weight:950}
.v13-fast{height:68px;border-radius:14px;border:3px solid #3bd7ff;background:#0a2c4e;color:#fff;font-weight:950}
.v13-winflash{position:absolute;inset:0;background:radial-gradient(circle,rgba(255,210,77,.35),transparent 60%);opacity:0;pointer-events:none;z-index:10}
.v13-winflash.show{animation:v13Flash .9s ease}
@keyframes v13Flash{0%{opacity:0}35%{opacity:1}100%{opacity:0}}
.v13-fruit .v13-slot-top{background:linear-gradient(180deg,#ffb217,#b01808 44%,#300305)}
.v13-fire .v13-slot-main{background:radial-gradient(circle at 50% 50%,rgba(255,95,0,.25),transparent 24rem),linear-gradient(90deg,#240000,#5a0409 18%,#100006 82%,#240000)}
.v13-neon .v13-slot-main{background:radial-gradient(circle at 50% 50%,rgba(38,217,255,.22),transparent 24rem),linear-gradient(90deg,#030a2d,#250042 18%,#0a0214 82%,#030a2d)}
.v13-gold .v13-slot-main{background:radial-gradient(circle at 50% 50%,rgba(255,210,77,.25),transparent 24rem),linear-gradient(90deg,#3b2100,#171006 18%,#0d0903 82%,#3b2100)}
@media(max-width:1000px){.v13-slot-shell{height:auto;min-height:100vh;overflow:auto;grid-template-rows:auto auto auto}.v13-slot-top,.v13-slot-main,.v13-controls{grid-template-columns:1fr}.v13-lines,.v13-side{display:none}.v13-reel-stage{height:70vh}.v13-controls{gap:12px}.v13-spin{height:78px}}

/* Roulette V13 refinement */
.roulette-canvas-real{width:min(620px,76vw)!important}
.roulette-wheel-stage-pro{min-height:560px!important}
.roulette-studio{background:radial-gradient(circle at 50% 44%,rgba(255,210,77,.22),transparent 23rem),linear-gradient(180deg,#080b12,#020408)!important}


/* =========================================================
   V14 COVERS CONFIGURADOS EN EL CASINO
   ========================================================= */
.slots-v14-hero{
  max-width:1540px;
  margin:0 auto;
  padding:68px min(4vw,58px) 20px;
}
.slots-v14-hero h1{
  font-family:Oswald,Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:-.055em;
  font-size:clamp(3rem,6vw,6.4rem);
  line-height:.86;
  margin:16px 0;
}
.featured-covers-v14{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.featured-cover-card{
  min-height:420px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  padding:24px;
  display:grid;
  align-content:end;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.86)),
    var(--cover);
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 110px rgba(0,0,0,.55);
  transition:.2s transform,.2s filter,.2s border-color;
}
.featured-cover-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 55%,rgba(255,210,77,.22),transparent 18rem);
  opacity:.8;
}
.featured-cover-card:hover{
  transform:translateY(-6px) scale(1.01);
  filter:saturate(1.1) brightness(1.08);
  border-color:#ffd24d;
}
.featured-cover-card span,
.featured-cover-card h2,
.featured-cover-card p{
  position:relative;
  z-index:1;
}
.featured-cover-card span{
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.62);
  border:1px solid rgba(255,255,255,.22);
  color:#ffd24d;
  font-weight:950;
}
.featured-cover-card h2{
  margin:12px 0 8px;
  font-family:Oswald;
  text-transform:uppercase;
  font-size:2.3rem;
  line-height:.92;
  color:#fff;
  text-shadow:0 4px 0 #000,0 0 18px rgba(255,210,77,.8);
}
.featured-cover-card p{
  margin:0;
  color:#fff5db;
  font-weight:800;
}
.slots-grid-v14 .slot-card{
  overflow:hidden;
  border-radius:24px;
  background:#09090d;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 26px 90px rgba(0,0,0,.45);
}
.slot-cover-image-v14{
  min-height:260px;
  position:relative;
  display:grid;
  align-content:end;
  padding:18px;
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.86)),var(--cover);
  background-size:cover;
  background-position:center;
}
.slot-cover-image-v14:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.12),transparent 16rem);
  pointer-events:none;
}
.slot-cover-image-v14 h3{
  position:relative;
  z-index:1;
  margin:0;
  font-size:1.55rem;
  line-height:.95;
  text-shadow:0 3px 0 #000;
}
.slot-cover-image-v14 .badge-row{
  position:relative;
  z-index:1;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
.v14-cover-chip{
  padding:5px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.65);
  border:1px solid rgba(255,255,255,.18);
  color:#ffd24d;
  font-size:.74rem;
  font-weight:950;
}
.v14-slot-page .v13-slot-shell{
  background-size:cover;
  background-position:center;
  position:relative;
}
.v14-slot-page .v13-slot-shell:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55));
  z-index:0;
  pointer-events:none;
}
.v14-slot-page .v13-slot-shell > *{
  position:relative;
  z-index:1;
}
.v14-slot-page .v13-reel-stage{
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(2px);
}
.v14-bear-win{
  position:fixed;
  inset:0;
  z-index:99;
  pointer-events:none;
  display:grid;
  place-items:center;
  background:radial-gradient(circle,rgba(255,210,77,.28),transparent 60%);
  opacity:0;
  transform:scale(.9);
}
.v14-bear-win.show{
  animation:v14BearShow 1.45s ease both;
}
.v14-bear-card{
  width:min(520px,82vw);
  aspect-ratio:1.25;
  border-radius:42px;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.28),transparent 12rem),
    linear-gradient(145deg,#ffe08a,#8a4b00 60%,#241000);
  border:6px solid #fff0a6;
  box-shadow:0 0 90px #ffd24d,0 30px 100px rgba(0,0,0,.75);
}
.v14-bear-card b{
  font-size:clamp(5rem,14vw,9rem);
  filter:drop-shadow(0 0 22px #fff);
}
.v14-bear-card span{
  display:block;
  font-family:Oswald;
  font-size:clamp(2rem,6vw,4rem);
  color:#fff;
  text-shadow:0 4px 0 #5c2300,0 0 22px #ffd24d;
}
@keyframes v14BearShow{
  0%{opacity:0;transform:scale(.7) rotate(-5deg)}
  25%{opacity:1;transform:scale(1.05) rotate(2deg)}
  72%{opacity:1;transform:scale(1) rotate(0)}
  100%{opacity:0;transform:scale(1.2) rotate(4deg)}
}
@media(max-width:1180px){
  .featured-covers-v14{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .featured-covers-v14{grid-template-columns:1fr}
  .featured-cover-card{min-height:360px}
}


/* =========================================================
   V15 EMERALD CASINO DASHBOARD + SLOT INTERIOR
   ========================================================= */
.emerald-body-v15{
  margin:0;
  min-height:100vh;
  background:#020705;
  color:#fff4c8;
  overflow-x:hidden;
  font-family:Inter,Arial,sans-serif;
}
.emerald-body-v15:before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 50% 12%,rgba(18,180,79,.18),transparent 32rem),
    linear-gradient(90deg,rgba(0,0,0,.75),transparent 22%,transparent 78%,rgba(0,0,0,.75)),
    url('assets/jungle-jackpot/cover.webp');
  background-size:cover;
  background-position:center;
  opacity:.28;
  filter:blur(2px) saturate(1.15);
  z-index:-2;
}
.emerald-body-v15:after{
  content:"";
  position:fixed;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.5),#020705 72%);
  z-index:-1;
}
.emerald-topbar-v15{
  height:76px;
  display:grid;
  grid-template-columns:270px 1fr 410px;
  align-items:center;
  padding:0 18px;
  gap:18px;
  border-bottom:1px solid rgba(255,210,77,.22);
  background:rgba(0,7,5,.86);
  backdrop-filter:blur(18px);
  position:sticky;
  top:0;
  z-index:20;
}
.emerald-brand-v15{
  display:flex;
  align-items:center;
  gap:12px;
  color:#ffd24d;
  text-decoration:none;
}
.emerald-logo-v15{
  width:44px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:radial-gradient(circle,#31ff8b,#063d1f);
  border:2px solid #c28c22;
  box-shadow:0 0 24px rgba(49,255,139,.32);
}
.emerald-brand-v15 strong{
  font-family:Georgia,serif;
  font-size:1.35rem;
  line-height:.78;
  letter-spacing:.04em;
}
.emerald-brand-v15 small{
  font-size:.75rem;
  letter-spacing:.34em;
}
.emerald-nav-v15{
  display:flex;
  justify-content:center;
  gap:10px;
}
.emerald-nav-v15 a{
  text-decoration:none;
  color:#d9c99d;
  padding:18px 18px;
  border-radius:0 0 14px 14px;
  font-weight:950;
  text-transform:uppercase;
  font-size:.88rem;
}
.emerald-nav-v15 a.active,
.emerald-nav-v15 a:hover{
  background:linear-gradient(180deg,rgba(255,210,77,.25),rgba(255,210,77,.05));
  color:#ffd24d;
  box-shadow:inset 0 -2px 0 #ffd24d;
}
.emerald-actions-v15{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.emerald-actions-v15 button,
.avatar-v15{
  height:44px;
  min-width:44px;
  border-radius:12px;
  border:1px solid rgba(255,210,77,.22);
  background:rgba(0,0,0,.45);
  color:#ffd24d;
  font-weight:950;
  position:relative;
}
.emerald-actions-v15 button b{
  position:absolute;
  right:-4px;
  top:-5px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ffd24d;
  color:#1b0b00;
  font-size:.74rem;
}
.emerald-balance-v15{
  height:44px;
  min-width:126px;
  display:grid;
  align-content:center;
  padding:0 12px;
  border-radius:12px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,210,77,.22);
}
.emerald-balance-v15 span{
  font-size:.72rem;
  color:#b8ad8a;
}
.emerald-balance-v15 strong{
  color:#fff;
}
.deposit-v15{
  background:linear-gradient(180deg,#0dbf58,#064d25)!important;
  color:#fff!important;
}
.avatar-v15{
  display:grid;
  place-items:center;
  background:radial-gradient(circle,#1cff7c,#04331c);
}
.emerald-app-v15{
  display:grid;
  grid-template-columns:250px minmax(0,1fr) 330px;
  gap:18px;
  padding:18px;
}
.emerald-sidebar-v15,
.emerald-right-v15{
  display:grid;
  gap:14px;
  align-content:start;
}
.side-card-v15,
.tournament-v15,
.recent-v15,
.drops-v15,
.vip-v15{
  border-radius:18px;
  background:rgba(0,10,6,.78);
  border:1px solid rgba(255,210,77,.16);
  box-shadow:0 22px 70px rgba(0,0,0,.38);
  backdrop-filter:blur(14px);
}
.side-card-v15{
  padding:14px;
}
.side-card-v15 h3,
.tournament-v15 h3,
.recent-v15 h3{
  margin:0 0 12px;
  color:#b8ad8a;
  text-transform:uppercase;
  font-size:.86rem;
  letter-spacing:.06em;
}
.side-card-v15 a{
  display:flex;
  padding:14px 14px;
  border-radius:12px;
  color:#d9c99d;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  gap:10px;
}
.side-card-v15 a.active,
.side-card-v15 a:hover{
  background:linear-gradient(90deg,#0ca64b,#063d1f);
  color:#ffd24d;
}
.tournament-v15{
  padding:16px;
}
.trophy-v15{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(255,210,77,.12);
  border:1px solid rgba(255,210,77,.3);
  font-size:2rem;
}
.tournament-v15 b,
.tournament-v15 span,
.tournament-v15 strong{
  display:block;
}
.tournament-v15 b{
  margin-top:10px;
  text-transform:uppercase;
}
.tournament-v15 span{
  color:#b8ad8a;
  text-transform:uppercase;
  font-size:.78rem;
}
.tournament-v15 strong{
  color:#ffd24d;
  font-size:1.45rem;
  margin:5px 0 10px;
}
.countdown-v15{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:12px 0;
}
.countdown-v15 div{
  text-align:center;
  padding:8px;
  border-radius:10px;
  background:rgba(0,0,0,.35);
}
.tournament-v15 button,
.drops-v15 button,
.vip-v15 button{
  width:100%;
  padding:12px;
  border-radius:10px;
  border:1px solid rgba(255,210,77,.28);
  background:linear-gradient(180deg,#16bd5b,#064d25);
  color:#fff;
  font-weight:950;
}
.emerald-main-v15{
  min-width:0;
}
.emerald-hero-v15{
  position:relative;
  min-height:650px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,210,77,.22);
  box-shadow:0 36px 120px rgba(0,0,0,.55);
  background:
    linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.55)),
    url('assets/jungle-jackpot/cover.webp');
  background-size:cover;
  background-position:center;
}
.emerald-hero-v15:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 12%,rgba(255,210,77,.18),transparent 28rem),
    linear-gradient(90deg,rgba(0,0,0,.62),transparent 20%,transparent 78%,rgba(0,0,0,.62));
}
.hero-jungle-title-v15{
  position:relative;
  z-index:1;
  margin:22px auto 0;
  width:max-content;
  max-width:92%;
  text-align:center;
  font-family:Georgia,serif;
  text-transform:uppercase;
  font-size:clamp(3rem,7vw,7rem);
  line-height:.8;
  color:#ffd24d;
  letter-spacing:.02em;
  text-shadow:0 8px 0 #193e10,0 0 26px #ffd24d;
}
.hero-jackpot-row-v15{
  position:relative;
  z-index:1;
  max-width:900px;
  margin:8px auto 10px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:2px solid rgba(255,210,77,.35);
  background:rgba(0,0,0,.72);
  box-shadow:0 12px 34px rgba(0,0,0,.55);
}
.hero-jackpot-row-v15 div{
  text-align:center;
  padding:9px 12px;
  border-right:1px solid rgba(255,210,77,.28);
}
.hero-jackpot-row-v15 span{
  display:block;
  font-family:Oswald;
  color:#ffd24d;
  font-size:1.08rem;
  letter-spacing:.12em;
}
.hero-jackpot-row-v15 b{
  font-size:1.15rem;
}
.hero-slot-machine-v15{
  position:relative;
  z-index:1;
  max-width:930px;
  margin:0 auto;
  display:grid;
  grid-template-columns:78px 1fr;
  border:5px solid #8b6b1f;
  background:#0d1408;
  box-shadow:inset 0 0 40px rgba(0,0,0,.8),0 20px 70px rgba(0,0,0,.55);
}
.line-badge-v15{
  display:grid;
  place-items:center;
  text-align:center;
  font-family:Oswald;
  color:#ffd24d;
  font-size:1.45rem;
  background:linear-gradient(180deg,#243111,#080c05);
  border-right:4px solid #8b6b1f;
}
.hero-reels-v15{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  grid-template-rows:repeat(3,130px);
}
.hero-symbol{
  position:relative;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle,rgba(27,255,113,.10),transparent 62%),
    rgba(0,15,8,.78);
  border:1px solid rgba(255,210,77,.18);
  font-family:Georgia,serif;
  font-size:3.2rem;
  color:#ffd24d;
  text-shadow:0 0 14px rgba(255,210,77,.8);
}
.hero-symbol.jaguar,
.hero-symbol.bear{
  font-size:4rem;
}
.hero-symbol.bear span,
.hero-symbol.wild{
  font-family:Oswald;
  font-size:2.4rem;
  color:#ffd24d;
  text-shadow:0 0 18px #1cff7c;
}
.hero-symbol.gem{
  color:#1cff7c;
  font-size:5rem;
}
.hero-symbol.red{
  color:#e83522;
}
.hero-controls-v15{
  position:relative;
  z-index:1;
  max-width:930px;
  margin:0 auto 22px;
  display:grid;
  grid-template-columns:58px 58px 180px 58px 1fr 130px 150px;
  gap:9px;
  align-items:center;
  padding:10px;
  border:4px solid #8b6b1f;
  border-top:0;
  background:rgba(0,0,0,.82);
}
.hero-controls-v15 button,
.hero-controls-v15 a{
  min-height:54px;
  border-radius:12px;
  border:1px solid rgba(255,210,77,.28);
  background:#061006;
  color:#ffd24d;
  font-weight:950;
  display:grid;
  place-items:center;
  text-decoration:none;
}
.info-v15,.minus-v15,.plus-v15{
  font-size:1.5rem;
}
.bet-v15,
.win-v15{
  display:grid;
  align-content:center;
  min-height:54px;
  border-radius:12px;
  padding:0 12px;
  background:#050505;
  border:1px solid rgba(255,210,77,.25);
}
.bet-v15 span,
.win-v15 span{
  color:#b8ad8a;
  font-size:.75rem;
  text-transform:uppercase;
}
.bet-v15 b,
.win-v15 b{
  color:#ffd24d;
  font-size:1.45rem;
}
.spin-v15{
  background:linear-gradient(180deg,#1cff7c,#078638)!important;
  color:#031507!important;
  font-size:1.8rem;
  box-shadow:0 0 28px rgba(28,255,124,.5);
}
.spin-v15 small{
  display:block;
  font-size:.62rem;
  text-transform:uppercase;
}
.featured-slots-v15,
.live-row-v15{
  margin-top:14px;
  border-radius:18px;
  border:1px solid rgba(255,210,77,.15);
  background:rgba(0,10,6,.76);
  padding:14px;
}
.section-head-v15{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.section-head-v15 h3{
  margin:0;
  color:#ffd24d;
  text-transform:uppercase;
}
.section-head-v15 a{
  color:#ffd24d;
  font-weight:950;
}
.featured-strip-v15{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
}
.featured-strip-v15 a{
  min-height:146px;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  padding:10px;
  display:grid;
  align-content:end;
  text-decoration:none;
  color:#fff;
  background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.85)),var(--cover);
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,210,77,.22);
}
.featured-strip-v15 span{
  position:absolute;
  left:8px;
  top:8px;
  padding:4px 7px;
  border-radius:6px;
  background:#16bd5b;
  color:#001b09;
  font-size:.68rem;
  font-weight:950;
  text-transform:uppercase;
}
.featured-strip-v15 b{
  font-family:Georgia,serif;
  color:#ffd24d;
  font-size:1.45rem;
  line-height:.85;
  text-shadow:0 3px 0 #000;
}
.live-row-v15{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.live-row-v15 a{
  min-height:100px;
  padding:18px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(20,217,111,.22),rgba(255,210,77,.08));
  border:1px solid rgba(255,210,77,.18);
  text-decoration:none;
  color:#fff;
  display:grid;
  align-content:center;
}
.live-row-v15 b{
  color:#ffd24d;
  font-size:1.35rem;
  text-transform:uppercase;
}
.live-row-v15 span{
  width:max-content;
  margin-top:8px;
  padding:7px 10px;
  border-radius:8px;
  background:#063d1f;
  color:#ffd24d;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:950;
}
.recent-v15{
  padding:14px;
}
.recent-v15 h3{
  display:flex;
  justify-content:space-between;
}
.recent-v15 h3 span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#20ff70;
  box-shadow:0 0 12px #20ff70;
}
.recent-v15 div{
  position:relative;
  padding:12px 70px 12px 12px;
  border-radius:12px;
  background:rgba(0,0,0,.36);
  border:1px solid rgba(255,210,77,.14);
  margin-bottom:9px;
}
.recent-v15 b,
.recent-v15 small{
  display:block;
}
.recent-v15 small{
  color:#b8ad8a;
  text-transform:uppercase;
  font-size:.7rem;
}
.recent-v15 strong{
  position:absolute;
  right:12px;
  top:18px;
  color:#ffd24d;
}
.drops-v15,
.vip-v15{
  padding:20px;
  min-height:180px;
  background:
    radial-gradient(circle at 80% 70%,rgba(255,210,77,.23),transparent 10rem),
    rgba(0,10,6,.78);
}
.drops-v15 h3,
.vip-v15 h3{
  margin:0;
  color:#ffd24d;
  text-transform:uppercase;
  font-size:1.3rem;
}
.drops-v15 span{
  display:block;
  margin-top:8px;
  color:#d9c99d;
  text-transform:uppercase;
}
.drops-v15 b{
  display:block;
  margin:12px 0;
  font-family:Georgia,serif;
  font-size:3rem;
  color:#ffd24d;
}
.demo-note-v15{
  position:fixed;
  right:16px;
  bottom:16px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(255,210,77,.18);
  color:#d9c99d;
  font-size:.78rem;
  z-index:50;
}

/* Slot interior V15 */
.emerald-slot-page-v15{
  margin:0;
  background:#020705;
  overflow:hidden;
  color:#fff;
}
.emerald-slot-v15{
  width:100vw;
  height:100vh;
  display:grid;
  grid-template-columns:250px minmax(0,1fr) 310px;
  grid-template-rows:72px 1fr 130px;
  gap:0;
  background-size:cover;
  background-position:center;
  position:relative;
}
.emerald-slot-v15:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.32) 20%,rgba(0,0,0,.32) 80%,rgba(0,0,0,.82)),
    linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.68));
  pointer-events:none;
}
.emerald-slot-v15 > *{
  position:relative;
  z-index:1;
}
.slot-top-v15{
  grid-column:1/4;
  display:grid;
  grid-template-columns:260px 1fr 380px;
  align-items:center;
  padding:0 16px;
  background:rgba(0,8,5,.76);
  border-bottom:2px solid rgba(255,210,77,.28);
  backdrop-filter:blur(12px);
}
.slot-top-actions-v15{
  display:flex;
  gap:8px;
}
.slot-top-actions-v15 a,
.slot-top-actions-v15 button{
  padding:9px 12px;
  border-radius:10px;
  border:1px solid rgba(255,210,77,.25);
  background:rgba(0,0,0,.55);
  color:#ffd24d;
  font-weight:950;
  text-decoration:none;
}
.slot-title-v15{
  text-align:center;
  font-family:Georgia,serif;
  color:#ffd24d;
  text-transform:uppercase;
  font-size:clamp(2.2rem,4.6vw,5.2rem);
  line-height:.8;
  text-shadow:0 6px 0 #003817,0 0 22px #ffd24d;
}
.slot-jackpots-v15{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.slot-jackpots-v15 div{
  text-align:center;
  border:2px solid rgba(255,210,77,.42);
  border-radius:12px;
  background:rgba(0,0,0,.72);
  padding:8px;
}
.slot-jackpots-v15 span{
  display:block;
  font-family:Oswald;
  color:#ffd24d;
}
.slot-left-v15,
.slot-right-v15{
  padding:18px;
  display:grid;
  gap:12px;
  align-content:start;
}
.slot-panel-v15{
  border-radius:18px;
  border:1px solid rgba(255,210,77,.20);
  background:rgba(0,8,5,.76);
  padding:14px;
  backdrop-filter:blur(12px);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.slot-panel-v15 h3{
  margin:0 0 12px;
  color:#ffd24d;
  text-transform:uppercase;
}
.active-icons-v15{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.active-icons-v15 img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  background:rgba(0,0,0,.42);
  border-radius:10px;
  border:1px solid rgba(255,210,77,.16);
}
.slot-tournament-v15{
  text-align:center;
}
.slot-tournament-v15 b{
  display:block;
  color:#ffd24d;
  font-size:2rem;
}
.slot-machine-v15{
  align-self:center;
  justify-self:center;
  width:min(100%,1080px);
  height:min(78vh,700px);
  display:grid;
  grid-template-rows:70px 1fr 92px;
  border:6px solid #84651d;
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,8,5,.88);
  box-shadow:inset 0 0 50px rgba(0,0,0,.8),0 34px 120px rgba(0,0,0,.7);
}
.machine-head-v15{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:rgba(0,0,0,.86);
  border-bottom:3px solid #84651d;
}
.machine-head-v15 div{
  text-align:center;
  padding:9px 10px;
  border-right:1px solid rgba(255,210,77,.22);
}
.machine-head-v15 span{
  display:block;
  font-family:Oswald;
  color:#ffd24d;
  font-size:1.1rem;
}
.machine-head-v15 b{
  color:#fff;
}
.reel-window-v15{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:70px 1fr;
  background:rgba(0,0,0,.74);
}
.lines-v15{
  display:grid;
  place-items:center;
  color:#ffd24d;
  font-family:Oswald;
  font-size:1.35rem;
  text-align:center;
  border-right:3px solid #84651d;
  background:rgba(0,0,0,.4);
}
.reels-v15{
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.reel-v15{
  overflow:hidden;
  border-right:1px solid rgba(255,210,77,.16);
  background:
    radial-gradient(circle at 50% 50%,rgba(28,255,124,.09),transparent 60%),
    rgba(0,20,10,.68);
}
.strip-v15{
  height:100%;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  will-change:transform;
}
.symbol-v15{
  display:grid;
  place-items:center;
  border-bottom:1px solid rgba(255,210,77,.12);
}
.symbol-v15 img{
  width:90%;
  height:84%;
  object-fit:contain;
  filter:drop-shadow(0 14px 14px rgba(0,0,0,.82));
}
.symbol-v15.win{
  animation:v15SymbolWin .65s ease both;
}
@keyframes v15SymbolWin{
  0%{transform:scale(1)}
  45%{transform:scale(1.18);filter:brightness(1.5)}
  100%{transform:scale(1)}
}
.payline-v15{
  position:absolute;
  left:70px;
  right:0;
  top:50%;
  height:4px;
  background:#1cff7c;
  box-shadow:0 0 22px #1cff7c;
  z-index:5;
}
.payline-v15.two{
  top:28%;
  transform:rotate(5deg);
}
.payline-v15.three{
  top:72%;
  transform:rotate(-5deg);
}
.machine-controls-v15{
  display:grid;
  grid-template-columns:150px 150px 1fr 230px 130px 150px;
  gap:8px;
  align-items:center;
  padding:10px;
  background:rgba(0,0,0,.92);
  border-top:3px solid #84651d;
}
.meter-v15{
  border-radius:12px;
  background:#030303;
  border:1px solid rgba(255,210,77,.22);
  padding:10px;
}
.meter-v15 span{
  display:block;
  color:#b8ad8a;
  font-size:.72rem;
  text-transform:uppercase;
}
.meter-v15 b{
  color:#fff;
  font-size:1.25rem;
}
.message-v15{
  min-height:58px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(80,0,0,.62);
  border:1px solid rgba(255,210,77,.16);
  font-weight:950;
}
.betbox-v15{
  display:grid;
  grid-template-columns:46px 1fr 46px;
  gap:6px;
}
.betbox-v15 button,
.auto-v15{
  border-radius:10px;
  border:1px solid rgba(255,255,255,.35);
  background:linear-gradient(180deg,#fff,#bdbdbd);
  color:#071007;
  font-weight:950;
}
.betbox-v15 input{
  text-align:center;
  background:#050505;
  color:#ff3b3b;
  border:1px solid rgba(255,210,77,.2);
  border-radius:10px;
  font-size:1.2rem;
  font-weight:950;
}
.spin-btn-v15{
  height:72px;
  border-radius:16px;
  border:3px solid #b6ffbd;
  background:linear-gradient(180deg,#8dff66,#13b935);
  color:#031507;
  font-weight:1000;
  font-size:1.75rem;
  box-shadow:0 0 30px rgba(28,255,124,.55);
}
.slot-bottom-note-v15{
  grid-column:1/4;
  display:none;
}
.bear-bonus-v15{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
  z-index:80;
  opacity:0;
}
.bear-bonus-v15.show{
  animation:bearV15 1.6s ease both;
}
.bear-card-v15{
  width:min(570px,84vw);
  aspect-ratio:1.2;
  border-radius:46px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.32),transparent 14rem),
    linear-gradient(145deg,#ffe08a,#8a4b00 60%,#241000);
  border:7px solid #fff0a6;
  box-shadow:0 0 110px #ffd24d,0 30px 100px rgba(0,0,0,.75);
  text-align:center;
}
.bear-card-v15 b{
  font-size:8rem;
}
.bear-card-v15 span{
  display:block;
  font-family:Georgia,serif;
  color:#fff;
  text-transform:uppercase;
  font-size:3.6rem;
  text-shadow:0 5px 0 #452000,0 0 24px #ffd24d;
}
@keyframes bearV15{
  0%{opacity:0;transform:scale(.65) rotate(-8deg)}
  22%{opacity:1;transform:scale(1.08) rotate(3deg)}
  72%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(1.22) rotate(6deg)}
}
@media(max-width:1320px){
  .emerald-app-v15{grid-template-columns:1fr}
  .emerald-sidebar-v15,.emerald-right-v15{display:none}
  .emerald-topbar-v15{grid-template-columns:220px 1fr}
  .emerald-actions-v15{display:none}
}
@media(max-width:920px){
  .emerald-nav-v15{display:none}
  .emerald-topbar-v15{grid-template-columns:1fr}
  .emerald-hero-v15{min-height:auto;padding-bottom:12px}
  .hero-jackpot-row-v15{grid-template-columns:1fr 1fr}
  .hero-slot-machine-v15{grid-template-columns:1fr}
  .line-badge-v15{display:none}
  .hero-reels-v15{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}
  .hero-controls-v15{grid-template-columns:1fr 1fr}
  .featured-strip-v15,.live-row-v15{grid-template-columns:1fr 1fr}
  .emerald-slot-v15{height:auto;min-height:100vh;grid-template-columns:1fr;grid-template-rows:auto auto auto auto}
  .slot-top-v15,.machine-controls-v15{grid-template-columns:1fr}
  .slot-left-v15,.slot-right-v15{display:none}
  .slot-machine-v15{height:74vh;width:96vw}
}


/* =========================================================
   V16 SLOT REBUILD - interior limpio, sin fondo duplicado ni bugs
   ========================================================= */
.emerald-slot-page-v15{
  margin:0;
  background:#020705;
  overflow:hidden;
  color:#fff;
  font-family:Inter,Arial,sans-serif;
}
.slot-v16{
  width:100vw;
  height:100vh;
  overflow:hidden;
  display:grid;
  grid-template-rows:82px 1fr 120px;
  background:var(--bg), radial-gradient(circle at 50% 20%,rgba(255,210,77,.14),transparent 26rem), #020705;
  background-size:cover;
  background-position:center;
  position:relative;
}
.slot-v16:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 44%,rgba(28,255,124,.12),transparent 26rem),
    linear-gradient(90deg,rgba(0,0,0,.80),rgba(0,0,0,.28) 18%,rgba(0,0,0,.28) 82%,rgba(0,0,0,.80)),
    linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,.76));
  z-index:0;
}
.slot-v16 > *{position:relative;z-index:1}
.slot-top-v16{
  display:grid;
  grid-template-columns:260px minmax(0,1fr) 390px;
  gap:14px;
  align-items:center;
  padding:0 18px;
  background:linear-gradient(180deg,rgba(0,12,5,.94),rgba(0,6,3,.82));
  border-bottom:2px solid rgba(255,210,77,.35);
  box-shadow:0 8px 28px rgba(0,0,0,.45);
}
.slot-actions-v16{
  display:flex;
  gap:9px;
}
.slot-actions-v16 a,
.slot-actions-v16 button{
  min-width:70px;
  height:52px;
  border-radius:11px;
  border:1px solid rgba(255,210,77,.35);
  background:rgba(0,0,0,.62);
  color:#ffd75f;
  font-weight:1000;
  text-decoration:none;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.slot-title-v16{
  text-align:center;
  font-family:Georgia,serif;
  text-transform:uppercase;
  color:#ffd75f;
  font-size:clamp(2.6rem,5vw,6.1rem);
  letter-spacing:.02em;
  line-height:.8;
  text-shadow:0 5px 0 #063315,0 0 24px rgba(255,215,95,.75);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.slot-mini-jackpots-v16{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.slot-mini-jackpots-v16 div{
  height:54px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:2px solid rgba(255,215,95,.55);
  background:rgba(0,0,0,.72);
}
.slot-mini-jackpots-v16 span{
  font-family:Oswald,Arial;
  color:#ffd75f;
  font-weight:1000;
  font-size:.94rem;
}
.slot-mini-jackpots-v16 b{
  font-size:1.02rem;
}
.slot-body-v16{
  min-height:0;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 260px;
  gap:16px;
  padding:16px 18px;
}
.slot-side-v16{
  min-height:0;
  display:grid;
  gap:14px;
  align-content:start;
}
.slot-panel-v16{
  border-radius:18px;
  background:rgba(0,12,6,.76);
  border:1px solid rgba(255,215,95,.22);
  backdrop-filter:blur(12px);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  padding:15px;
}
.slot-panel-v16 h3{
  margin:0 0 12px;
  color:#ffd75f;
  font-family:Oswald;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:1.22rem;
}
.symbol-grid-v16{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.symbol-grid-v16 img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,215,95,.2);
  border-radius:12px;
  padding:3px;
}
.daily-v16{
  text-align:center;
}
.daily-v16 strong{
  display:block;
  color:#ffd75f;
  font-family:Oswald;
  font-size:2.4rem;
}
.daily-v16 span{
  color:#fff1c8;
  font-weight:800;
}
.side-feature-v16{
  min-height:130px;
  display:grid;
  align-content:center;
}
.side-feature-v16 b{
  display:block;
  color:#fff;
  font-size:1.3rem;
}
.slot-machine-v16{
  min-width:0;
  min-height:0;
  align-self:center;
  height:min(100%, 720px);
  border-radius:22px;
  overflow:hidden;
  display:grid;
  grid-template-rows:72px minmax(0,1fr) 94px;
  border:5px solid rgba(255,215,95,.62);
  background:rgba(0,8,4,.88);
  box-shadow:inset 0 0 50px rgba(0,0,0,.85),0 34px 130px rgba(0,0,0,.72);
}
.jackpot-row-v16{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:rgba(0,0,0,.86);
  border-bottom:2px solid rgba(255,215,95,.45);
}
.jackpot-row-v16 div{
  display:grid;
  place-items:center;
  border-right:1px solid rgba(255,215,95,.25);
}
.jackpot-row-v16 span{
  color:#ffd75f;
  font-family:Oswald;
  font-size:1rem;
}
.jackpot-row-v16 b{
  color:#fff;
  font-size:1.18rem;
}
.reel-area-v16{
  min-height:0;
  position:relative;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
}
.line-label-v16{
  display:grid;
  place-items:center;
  text-align:center;
  color:#ffd75f;
  font-family:Oswald;
  font-size:1.25rem;
  background:rgba(0,0,0,.52);
  border-right:2px solid rgba(255,215,95,.38);
}
.reels-v16{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  background:rgba(0,18,9,.74);
}
.reel-v16{
  min-width:0;
  overflow:hidden;
  border-right:1px solid rgba(255,215,95,.18);
  background:
    radial-gradient(circle at 50% 50%,rgba(28,255,124,.08),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.24));
}
.strip-v16{
  height:100%;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  will-change:transform;
}
.symbol-v16{
  min-height:0;
  display:grid;
  place-items:center;
  border-bottom:1px solid rgba(255,215,95,.12);
}
.symbol-v16 img{
  width:92%;
  height:86%;
  object-fit:contain;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.88));
}
.symbol-v16.win{
  animation:symbolWinV16 .68s ease both;
}
@keyframes symbolWinV16{
  0%{transform:scale(1)}
  45%{transform:scale(1.17);filter:brightness(1.55) saturate(1.25)}
  100%{transform:scale(1)}
}
.payline-v16{
  position:absolute;
  left:64px;
  right:0;
  top:50%;
  height:4px;
  background:#1cff7c;
  box-shadow:0 0 18px #1cff7c;
  z-index:4;
  opacity:.9;
}
.payline-v16.two{top:28%;transform:rotate(4.5deg)}
.payline-v16.three{top:72%;transform:rotate(-4.5deg)}
.machine-controls-v16{
  display:grid;
  grid-template-columns:140px 140px minmax(0,1fr) 230px 124px 150px;
  gap:8px;
  align-items:center;
  padding:10px;
  background:rgba(0,0,0,.92);
  border-top:2px solid rgba(255,215,95,.45);
}
.meter-v16{
  height:64px;
  border-radius:12px;
  padding:8px 10px;
  display:grid;
  align-content:center;
  background:#030503;
  border:1px solid rgba(255,215,95,.22);
}
.meter-v16 span{
  color:#cfc49a;
  font-size:.72rem;
  text-transform:uppercase;
  font-weight:1000;
}
.meter-v16 b{
  color:#fff;
  font-size:1.25rem;
}
.message-v16{
  height:64px;
  border-radius:999px;
  display:grid;
  place-items:center;
  text-align:center;
  background:rgba(70,0,0,.66);
  border:1px solid rgba(255,215,95,.18);
  color:#fff;
  font-weight:1000;
}
.betbox-v16{
  display:grid;
  grid-template-columns:46px 1fr 46px;
  gap:6px;
}
.betbox-v16 button,
.auto-v16{
  border-radius:11px;
  border:1px solid rgba(255,255,255,.34);
  background:linear-gradient(180deg,#fff,#bfbfbf);
  color:#061006;
  font-weight:1000;
}
.betbox-v16 input{
  text-align:center;
  min-width:0;
  background:#050505;
  color:#ff3838;
  border:1px solid rgba(255,215,95,.22);
  border-radius:11px;
  font-size:1.22rem;
  font-weight:1000;
}
.spin-v16{
  height:72px;
  border-radius:16px;
  border:3px solid #b8ffb0;
  background:linear-gradient(180deg,#8dff66,#12bd36);
  color:#031507;
  font-size:1.72rem;
  font-weight:1000;
  box-shadow:0 0 30px rgba(28,255,124,.55);
}
.bear-bonus-v16{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  z-index:90;
  pointer-events:none;
  opacity:0;
}
.bear-bonus-v16.show{
  animation:bearV16 1.6s ease both;
}
.bear-card-v16{
  width:min(590px,84vw);
  aspect-ratio:1.2;
  border-radius:48px;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.34),transparent 14rem),
    linear-gradient(145deg,#fff09e,#bd7a00 60%,#241000);
  border:8px solid #fff0a6;
  box-shadow:0 0 120px #ffd75f,0 30px 100px rgba(0,0,0,.78);
}
.bear-card-v16 b{font-size:8rem}
.bear-card-v16 span{
  display:block;
  font-family:Georgia,serif;
  font-size:3.7rem;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 5px 0 #5b2800,0 0 25px #ffd75f;
}
@keyframes bearV16{
  0%{opacity:0;transform:scale(.68) rotate(-7deg)}
  22%{opacity:1;transform:scale(1.08) rotate(2deg)}
  72%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(1.2) rotate(5deg)}
}
@media(max-width:1200px){
  .slot-v16{height:auto;min-height:100vh;overflow:auto;grid-template-rows:auto auto auto}
  .slot-top-v16,.slot-body-v16,.machine-controls-v16{grid-template-columns:1fr}
  .slot-side-v16{display:none}
  .slot-machine-v16{height:78vh}
}


/* =========================================================
   V17 JUNGLE REAL SYMBOLS
   La slot interior usa iconos PNG realistas recortados de la hoja generada
   ========================================================= */
.slot-v16{
  background-size:cover;
  background-position:center;
}
.slot-v16:before{
  background:
    radial-gradient(circle at 50% 30%,rgba(255,215,95,.18),transparent 30rem),
    radial-gradient(circle at 50% 65%,rgba(28,255,124,.14),transparent 24rem),
    linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.18) 20%,rgba(0,0,0,.18) 80%,rgba(0,0,0,.84)),
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.82));
}
.slot-machine-v16{
  border:6px solid #b88a22;
  background:
    radial-gradient(circle at 50% 45%,rgba(28,255,124,.08),transparent 24rem),
    linear-gradient(180deg,#03180d,#010604);
  box-shadow:
    inset 0 0 55px rgba(0,0,0,.9),
    0 0 0 2px rgba(255,240,166,.35),
    0 38px 140px rgba(0,0,0,.78);
}
.jackpot-row-v16{
  background:
    linear-gradient(180deg,rgba(17,17,12,.98),rgba(0,0,0,.94));
}
.jackpot-row-v16 div{
  border-right:1px solid rgba(255,215,95,.28);
}
.reel-area-v16{
  background:
    radial-gradient(circle at 50% 50%,rgba(255,215,95,.08),transparent 28rem),
    linear-gradient(180deg,#08170d,#020604);
}
.reels-v16{
  gap:8px;
  padding:12px;
  background:
    radial-gradient(circle at 50% 50%,rgba(28,255,124,.09),transparent 26rem),
    linear-gradient(180deg,rgba(4,30,16,.88),rgba(1,8,4,.94));
}
.reel-v16{
  border:1px solid rgba(255,215,95,.24);
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),transparent 18%,transparent 82%,rgba(0,0,0,.5)),
    radial-gradient(circle at 50% 45%,rgba(0,0,0,.08),rgba(0,0,0,.55));
  overflow:hidden;
  box-shadow:inset 0 0 24px rgba(0,0,0,.72);
}
.strip-v16{
  gap:8px;
  padding:8px;
  box-sizing:border-box;
}
.symbol-v16{
  border:0;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.08),transparent 58%),
    linear-gradient(180deg,rgba(255,215,95,.055),rgba(0,0,0,.20));
  box-shadow:inset 0 0 18px rgba(0,0,0,.45);
}
.symbol-v16 img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:14px;
  filter:
    drop-shadow(0 16px 15px rgba(0,0,0,.82))
    drop-shadow(0 0 8px rgba(255,215,95,.22));
}
.symbol-v16.win img{
  filter:
    brightness(1.32)
    saturate(1.24)
    drop-shadow(0 0 24px rgba(28,255,124,.9))
    drop-shadow(0 0 38px rgba(255,215,95,.8));
}
.payline-v16{
  height:3px;
  background:linear-gradient(90deg,transparent,#1cff7c 10%,#caff7a 50%,#1cff7c 90%,transparent);
  box-shadow:0 0 16px #1cff7c,0 0 28px rgba(255,215,95,.55);
  opacity:.72;
}
.line-label-v16{
  background:
    linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,20,9,.72));
  color:#ffd75f;
  text-shadow:0 0 10px rgba(255,215,95,.55);
}
.slot-panel-v16{
  background:rgba(0,12,6,.84);
  border-color:rgba(255,215,95,.28);
}
.symbol-grid-v16 img{
  object-fit:contain;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,215,95,.12),transparent 70%),
    rgba(0,0,0,.55);
  border:1px solid rgba(255,215,95,.22);
  padding:0;
  border-radius:12px;
}
.slot-title-v16{
  background:linear-gradient(180deg,#fff8b8,#ffd75f 38%,#ad741d 72%,#fff1a6);
  -webkit-background-clip:text;
  color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 4px 0 #06280f) drop-shadow(0 0 18px rgba(255,215,95,.7));
}
.machine-controls-v16{
  background:
    linear-gradient(180deg,rgba(7,7,4,.98),rgba(0,0,0,.98));
}
.spin-v16{
  background:linear-gradient(180deg,#b9ff8c,#39ef41 48%,#09a528);
  border-color:#e8ffe3;
  box-shadow:0 0 34px rgba(28,255,124,.68), inset 0 0 14px rgba(255,255,255,.45);
}
@media(max-width:1200px){
  .reels-v16{gap:5px;padding:7px}
  .strip-v16{gap:5px;padding:5px}
}


/* ==============================
   V18 NOVABET PROFESSIONAL HOME
   ============================== */
.novabet-home-body{
  background:
    radial-gradient(circle at top left, rgba(38,132,255,.16), transparent 26rem),
    radial-gradient(circle at top right, rgba(255,185,64,.16), transparent 24rem),
    linear-gradient(180deg,#070b12,#05070d 42%,#03050b 100%);
}
.novabet-home-main{
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px 18px 60px;
}
.novabet-home-topbar .nav a.active{
  color:#fff;
}
.novabet-hero{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:24px;
  align-items:stretch;
  margin-top:14px;
}
.novabet-hero-copy,
.novabet-hero-visual,
.novabet-section{
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(15,20,31,.94),rgba(8,12,20,.96));
  box-shadow:0 24px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
}
.novabet-hero-copy{padding:34px 34px 30px}
.novabet-hero-copy h1{
  font-size:clamp(2rem,4vw,4rem);
  line-height:1.02;
  margin:12px 0 14px;
  letter-spacing:-.03em;
}
.novabet-hero-copy p{
  margin:0;
  color:#b9c3d1;
  font-size:1.02rem;
  max-width:62ch;
}
.novabet-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn-primary-home,.btn-secondary-home{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  min-height:48px;padding:0 18px;border-radius:16px;font-weight:800;letter-spacing:.01em;
}
.btn-primary-home{background:linear-gradient(180deg,#ffcb52,#ff9f1b);color:#111;box-shadow:0 10px 28px rgba(255,159,27,.32)}
.btn-secondary-home{background:rgba(255,255,255,.05);color:#fff;border:1px solid rgba(255,255,255,.1)}
.novabet-hero-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.novabet-hero-stats div{
  min-width:120px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)
}
.novabet-hero-stats b{display:block;font-size:1.5rem}
.novabet-hero-stats span{color:#b7c0cf;font-size:.92rem}
.novabet-hero-visual{padding:20px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.novabet-hero-visual:before{
  content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 20% 20%, rgba(255,204,82,.12), transparent 13rem),
  radial-gradient(circle at 80% 70%, rgba(80,190,255,.10), transparent 14rem);
}
.hero-cover-stack{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.hero-cover-card,.slot-promo-card{
  position:relative;overflow:hidden;min-height:220px;border-radius:24px;padding:18px;text-decoration:none;color:#fff;
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72)), var(--cover) center/cover no-repeat;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 16px 40px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.08);
}
.hero-cover-card span,.slot-promo-card span{
  display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;
  background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.12);font-size:.82rem;font-weight:700
}
.hero-cover-card b,.slot-promo-card h3{display:block;margin-top:12px;font-size:1.6rem;line-height:1.02}
.hero-cover-card b{max-width:9ch}
.novabet-section{padding:24px;margin-top:24px}
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-title-row h2{margin:0;font-size:1.65rem}
.section-title-row p,.section-title-row a{margin:0;color:#b9c3d1;text-decoration:none}
.novabet-quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.novabet-quick-grid a,.table-link-card{
  display:block;padding:20px;border-radius:22px;text-decoration:none;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)
}
.novabet-quick-grid a b,.table-link-card h3{display:block;font-size:1.15rem;margin-bottom:8px}
.novabet-quick-grid a span,.table-link-card p{color:#b9c3d1;line-height:1.4}
.novabet-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.slot-promo-card p{max-width:28ch;color:#eef1f7;font-size:.95rem;line-height:1.35;margin-top:10px}
.novabet-jackpot-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.jackpot-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jackpot-board div{
  padding:18px;border-radius:22px;background:linear-gradient(180deg,#171d2b,#0b101a);border:1px solid rgba(255,204,82,.18);
  text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
.jackpot-board span{display:block;color:#ffcb52;font-weight:800;letter-spacing:.06em;font-size:.85rem}
.jackpot-board b{display:block;margin-top:8px;font-size:1.4rem}
.table-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:1180px){
  .novabet-hero,.novabet-jackpot-layout{grid-template-columns:1fr}
  .novabet-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .novabet-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .novabet-home-main{padding:18px 12px 40px}
  .hero-cover-stack,.novabet-featured-grid,.table-links-grid,.jackpot-board,.novabet-quick-grid{grid-template-columns:1fr}
  .novabet-hero-copy{padding:24px 18px 20px}
  .novabet-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* V21 - 100 CUSTOM SLOTS FULL IMPLEMENTATION */
.slot-cover-image-v14{background-size:cover;background-position:center}
.slots-grid-v14 .slot-card{border:1px solid rgba(255,215,95,.18);box-shadow:0 24px 80px rgba(0,0,0,.42)}
.slot-v16{background-size:cover;background-position:center}
.slot-v16:before{background:radial-gradient(circle at 50% 32%,rgba(255,215,95,.15),transparent 29rem),radial-gradient(circle at 50% 64%,rgba(28,255,124,.10),transparent 25rem),linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.18) 20%,rgba(0,0,0,.18) 80%,rgba(0,0,0,.86)),linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.84))}
.reels-v16{gap:8px;padding:12px;background:radial-gradient(circle at 50% 45%,rgba(255,215,95,.08),transparent 26rem),linear-gradient(180deg,rgba(7,24,15,.92),rgba(1,6,4,.96))}
.reel-v16{border-radius:10px;border:1px solid rgba(255,215,95,.24);box-shadow:inset 0 0 26px rgba(0,0,0,.76)}
.strip-v16{gap:8px;padding:8px;box-sizing:border-box}
.symbol-v16{border:0;border-radius:16px;overflow:hidden;background:rgba(0,0,0,.36);box-shadow:inset 0 0 18px rgba(0,0,0,.58),0 0 0 1px rgba(255,215,95,.14)}
.symbol-v16 img{width:100%;height:100%;object-fit:cover;border-radius:14px;filter:drop-shadow(0 14px 14px rgba(0,0,0,.82))}
.symbol-grid-v16 img{width:100%;height:auto;object-fit:cover;aspect-ratio:1;border-radius:12px;background:rgba(0,0,0,.45)}
.slot-title-v16{background:linear-gradient(180deg,#fff8b8,#ffd75f 38%,#b98524 72%,#fff1a6);-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 4px 0 #06280f) drop-shadow(0 0 18px rgba(255,215,95,.7))}


/* V23 - fixed reel symbol fitting for all 100 slots */
.symbol-v16{display:flex;align-items:center;justify-content:center;padding:0;background:#050505}
.symbol-v16 img{width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:12px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.symbol-grid-v16 img{object-fit:cover;background:#090909;padding:0}
.reel-v16{padding:4px;box-sizing:border-box}
.strip-v16{gap:4px;padding:4px}


/* V24 definitive fixes: non-repeated symbols, perfect icon centering */
.active-grid img,.symbol-grid-v16 img{width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:10px}
.symbol-v16{padding:0;background:#060606;display:flex;align-items:center;justify-content:center}
.symbol-v16 img{width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:12px}

/* =========================================================
   V26 LOCAL CASINO - no provider
   ========================================================= */
.local-casino-body{
  background:
    radial-gradient(circle at 15% 8%,rgba(255,210,77,.14),transparent 28rem),
    radial-gradient(circle at 80% 10%,rgba(24,216,255,.10),transparent 24rem),
    linear-gradient(180deg,#070b12,#03050a 74%);
}
.local-main{max-width:1500px;margin:0 auto;padding:30px 18px 70px;}
.local-hero,.local-section,.local-page-head,.local-roulette-stage,.local-ticket{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(17,22,34,.95),rgba(7,10,18,.96));
  border-radius:28px;
  box-shadow:0 28px 100px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05);
}
.local-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;padding:34px;align-items:center;}
.local-hero h1,.local-page-head h1,.roulette-header-local h1{
  font-family:Oswald,Inter,sans-serif;
  text-transform:uppercase;
  font-size:clamp(2.4rem,5vw,5.4rem);
  line-height:.9;
  letter-spacing:-.04em;
  margin:16px 0;
}
.local-hero p,.local-page-head p,.roulette-header-local p{color:#c7d0df;max-width:70ch;}
.local-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.local-hero-game{min-height:360px;border-radius:26px;display:grid;place-items:center;gap:18px;background:radial-gradient(circle,rgba(255,210,77,.15),transparent 17rem),rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08)}
.mini-wheel{width:220px;height:220px;border-radius:50%;background:repeating-conic-gradient(#d91624 0 9.73deg,#111 9.73deg 19.46deg,#0c9d44 19.46deg 29.19deg);border:12px solid #8a4f1f;box-shadow:inset 0 0 0 34px #201008,0 0 60px rgba(255,210,77,.24);animation:proSpin 12s linear infinite}
.mini-slot-row{display:flex;gap:10px}
.mini-slot-row span{padding:18px 22px;border-radius:16px;background:#080a0f;border:1px solid rgba(255,210,77,.28);font-weight:1000;color:#ffd24d}
.local-section,.local-page-head{padding:28px;margin-top:24px}
.local-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.local-grid a{padding:22px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none}
.local-grid b{display:block;font-size:1.4rem;color:#ffd24d}.local-grid span{color:#c7d0df}
.local-roulette-layout{display:grid;grid-template-columns:1fr 330px;gap:22px}
.local-roulette-stage{padding:28px;overflow:hidden}
.realistic-roulette{position:relative;min-height:460px;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 18rem),rgba(0,0,0,.38);border-radius:26px;border:1px solid rgba(255,255,255,.08)}
.roulette-wheel-local{position:relative;width:360px;height:360px;border-radius:50%;background:repeating-conic-gradient(#d91624 0 9.73deg,#111 9.73deg 19.46deg,#0c9d44 19.46deg 29.19deg);border:14px solid #7a4118;box-shadow:inset 0 0 0 24px #b8792d,inset 0 0 0 76px #180b04,0 0 55px rgba(255,210,77,.28);transition:transform 3.2s cubic-bezier(.12,.62,.11,1)}
.roulette-wheel-local span{position:absolute;left:50%;top:50%;transform:rotate(calc(var(--i)*9.73deg)) translateY(-158px) translateX(-50%);font-size:.72rem;font-weight:900;color:#fff;background:var(--color);padding:2px 3px;border-radius:3px}
.roulette-hub-local{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ffe8a8,#6d3a14);box-shadow:0 0 28px rgba(255,210,77,.35)}
.roulette-ball-local{position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 14px #fff;transform:translateX(148px);z-index:3}
.roulette-pointer{position:absolute;top:32px;width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:32px solid #ffd24d;z-index:5}
@keyframes localBallSpin{0%{transform:rotate(0deg) translateX(172px)}70%{transform:rotate(-1180deg) translateX(156px)}100%{transform:rotate(-1460deg) translateX(128px)}}
.roulette-board-local{display:grid;grid-template-columns:80px repeat(12,1fr);gap:6px;margin-top:18px}
.roulette-board-local .zero{grid-row:span 3;background:#087b31}
.roulette-board-local div{display:contents}
.roulette-board-local button{min-height:42px;border-radius:8px;border:1px solid rgba(255,255,255,.28);color:#fff;font-weight:900;background:#087b31}
.roulette-board-local button.red{background:#d91624}.roulette-board-local button.black{background:#111}
.roulette-chips-local{display:flex;gap:10px;margin-top:18px}
.roulette-chips-local button{width:54px;height:54px;border-radius:50%;border:4px dashed rgba(255,255,255,.45);background:#fff;color:#111;font-weight:1000}
.roulette-chips-local button.active{background:#ffd24d}
.local-ticket{padding:24px;align-self:start;position:sticky;top:90px}
.local-ticket div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.10)}
.local-ticket span{color:#aeb9c9}.local-ticket p{color:#c7d0df}
@media(max-width:1100px){.local-hero,.local-roulette-layout{grid-template-columns:1fr}.local-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.local-grid{grid-template-columns:1fr}.roulette-board-local{grid-template-columns:1fr 1fr 1fr}.roulette-wheel-local{width:280px;height:280px}.roulette-wheel-local span{display:none}}

/* =========================================================
   V27 NOVABET PLATFORM — professional lobby & shell
   Game implementations remain untouched.
   ========================================================= */
:root{
  --nb-bg:#07100c;
  --nb-bg-2:#0b1711;
  --nb-panel:#101e17;
  --nb-panel-2:#14261c;
  --nb-line:rgba(255,255,255,.09);
  --nb-green:#b9ff3d;
  --nb-green-2:#78e600;
  --nb-mint:#36f2aa;
  --nb-text:#f6f8f5;
  --nb-muted:#98aa9e;
  --nb-dark:#07100c;
  --nb-shadow:0 24px 70px rgba(0,0,0,.38);
}
body.novabet-app{background:var(--nb-bg);color:var(--nb-text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
body.novabet-app:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 4%,rgba(98,255,88,.08),transparent 32rem),radial-gradient(circle at 0 32%,rgba(0,255,160,.055),transparent 28rem);z-index:-1}
.novabet-app a{color:inherit}
.novabet-app p{color:var(--nb-muted)}
.novabet-app .topbar{height:72px;padding:0 max(24px,calc((100vw - 1500px)/2));display:grid;grid-template-columns:auto 1fr auto;gap:26px;background:rgba(7,16,12,.94);border-bottom:1px solid var(--nb-line);backdrop-filter:blur(22px);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.novabet-app .brand{display:flex;align-items:center}.novabet-app .brand img{width:158px;height:auto}
.novabet-app .nav{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#b5c2b9;font-size:.88rem}
.nb-primary-nav,.nb-account-nav{display:flex;align-items:center;gap:5px}
.nb-primary-nav a{position:relative;padding:25px 12px 23px;border-bottom:2px solid transparent;white-space:nowrap;transition:.16s}
.nb-primary-nav a:hover,.nb-primary-nav a.active{color:#fff;border-bottom-color:var(--nb-green)}
.nb-primary-nav a.active:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--nb-green);left:50%;bottom:13px;transform:translateX(-50%);box-shadow:0 0 12px var(--nb-green)}
.nb-nav-search,.nb-icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--nb-line);background:rgba(255,255,255,.045);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:1.05rem}
.nb-nav-search:hover,.nb-icon-btn:hover{background:rgba(255,255,255,.09)}
.nb-wallet{height:42px;display:flex;align-items:center;gap:9px;padding:0 13px;border-radius:12px;background:#13231a;border:1px solid rgba(185,255,61,.18);color:#fff}.nb-wallet span{color:var(--nb-green);font-size:1rem}.nb-wallet b{font-size:.88rem}.nb-wallet small{color:#718078}
.nb-login,.nb-register{height:42px;padding:0 15px;border-radius:11px;border:0;font-weight:900;cursor:pointer;white-space:nowrap}.nb-login{background:transparent;color:#d9e1db}.nb-register{background:var(--nb-green);color:#0b160e;box-shadow:0 8px 22px rgba(185,255,61,.16)}
.novabet-app .menu{display:none}
.nb-demo-bar{height:30px;display:flex;align-items:center;justify-content:center;gap:10px;background:#b9ff3d;color:#10200f;font-size:.72rem;font-weight:900;letter-spacing:.04em}.nb-demo-bar a{text-decoration:underline}.nb-demo-bar button{border:0;background:none;font-weight:900;cursor:pointer;margin-left:8px}
.nb-main{max-width:1500px;margin:0 auto;padding:0 24px 72px}

/* Home */
.nb-hero{min-height:640px;padding:62px 0 44px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);gap:70px;align-items:center}
.nb-eyebrow,.nb-kicker{display:flex;align-items:center;gap:9px;color:var(--nb-green);font-size:.72rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.nb-live-dot{width:8px;height:8px;border-radius:50%;background:var(--nb-green);box-shadow:0 0 13px var(--nb-green)}
.nb-hero h1{max-width:780px;margin:20px 0;font-size:clamp(3.3rem,5.6vw,6.6rem);line-height:.92;letter-spacing:-.065em;font-weight:950}.nb-hero h1 span{display:block;color:var(--nb-green)}
.nb-hero-copy>p{font-size:1.07rem;max-width:590px;line-height:1.75}.nb-hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.nb-btn{min-height:50px;padding:0 19px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:.9rem;font-weight:950;transition:.16s}.nb-btn:hover{transform:translateY(-2px)}.nb-btn-primary{background:var(--nb-green);color:#0c160f!important;box-shadow:0 12px 30px rgba(185,255,61,.15)}.nb-btn-secondary{background:#15241b;border:1px solid var(--nb-line);color:#fff!important}
.nb-proof-row{display:flex;gap:28px;margin-top:38px;padding-top:22px;border-top:1px solid var(--nb-line)}.nb-proof-row span{display:grid;color:#7f9186;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.nb-proof-row b{color:#fff;font-size:1rem;letter-spacing:0;margin-bottom:4px}
.nb-hero-visual{position:relative;min-height:530px}.nb-feature-card{position:absolute;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.13);background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.84)),var(--feature);background-size:cover;background-position:center;box-shadow:var(--nb-shadow);transition:.25s}.nb-feature-card:hover{transform:translateY(-6px);border-color:rgba(185,255,61,.5)}
.nb-feature-main{inset:0 150px 35px 0;padding:30px;display:flex;align-items:flex-end}.nb-feature-main:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(7,16,12,.55),transparent 52%);pointer-events:none}.nb-feature-main>div,.nb-feature-main>.nb-card-tag,.nb-feature-main>.nb-play{position:relative;z-index:1}.nb-feature-card small{font-size:.68rem;font-weight:950;letter-spacing:.13em;color:#dce9df}.nb-feature-card h2{font-size:2.7rem;line-height:.95;margin:9px 0 6px;letter-spacing:-.055em}.nb-feature-card p{margin:0;color:#c7d2ca}.nb-card-tag{position:absolute!important;top:22px;left:22px;padding:7px 9px;border-radius:7px;background:var(--nb-green);color:#0b160e;font-size:.64rem;font-weight:950;letter-spacing:.08em}.nb-card-tag.cyan{background:#35e8d1}
.nb-play{position:absolute;right:22px;bottom:23px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0c1710;box-shadow:0 8px 24px #0008}.nb-play.small{width:40px;height:40px;right:16px;bottom:16px}
.nb-feature-side{width:260px;height:300px;right:0;top:28px;padding:22px;display:flex;align-items:flex-end}.nb-feature-side h3{font-size:1.65rem;margin:7px 0;letter-spacing:-.04em}.nb-feature-side>div{position:relative;z-index:1}
.nb-floating-win{position:absolute;right:25px;bottom:0;width:245px;padding:16px 18px;border-radius:16px;background:rgba(17,33,24,.94);border:1px solid rgba(185,255,61,.25);box-shadow:0 18px 45px #0008;display:grid;backdrop-filter:blur(16px)}.nb-floating-win span{font-size:.61rem;color:#84958a;font-weight:950;letter-spacing:.11em}.nb-floating-win strong{font-size:1.45rem;color:var(--nb-green);margin:5px 0}.nb-floating-win small{color:#b8c5bd}
.nb-ticker{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:14px;border-radius:20px;background:#0c1812;border:1px solid var(--nb-line);box-shadow:0 16px 50px rgba(0,0,0,.18)}.nb-ticker a{min-height:75px;padding:13px;border-radius:13px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:10px;transition:.16s}.nb-ticker a:hover{background:#16271d}.nb-ticker span{grid-row:1/3;width:34px;height:34px;border-radius:10px;background:#1d3024;display:grid;place-items:center;color:var(--nb-green);font-size:1.1rem}.nb-ticker b{align-self:end;font-size:.86rem}.nb-ticker small{align-self:start;color:#718278;font-size:.68rem}
.nb-section{padding:70px 0 0}.nb-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.nb-section-head h2,.nb-sports-copy h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1;margin:9px 0 0;letter-spacing:-.05em}.nb-section-head>a{color:var(--nb-green);font-size:.85rem;font-weight:900}
.nb-home-games{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.nb-loading{grid-column:1/-1;min-height:220px;border-radius:18px;background:#0c1912;display:grid;place-items:center;color:#779083}.nb-game-card{min-width:0}.nb-game-cover{position:relative;display:block;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#102018;border:1px solid var(--nb-line);box-shadow:0 16px 40px rgba(0,0,0,.24)}.nb-game-cover img{width:100%;height:100%;object-fit:cover;transition:.28s}.nb-game-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.75));opacity:.72}.nb-game-card:hover .nb-game-cover img{transform:scale(1.055)}.nb-game-card:hover .nb-game-cover{border-color:rgba(185,255,61,.5)}.nb-card-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-40%) scale(.8);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--nb-green);color:#0a160e;opacity:0;transition:.18s}.nb-game-card:hover .nb-card-play{opacity:1;transform:translate(-50%,-50%) scale(1)}.nb-fav{position:absolute;z-index:3;right:9px;top:9px;width:34px;height:34px;border-radius:10px;background:rgba(4,12,8,.75);border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;font-size:1rem}.nb-fav.active{color:var(--nb-green)}.nb-game-meta{padding:10px 3px}.nb-game-meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.nb-game-meta span{font-size:.7rem;color:#74857a}
.nb-sports-block{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.nb-sports-copy p{max-width:540px;margin:18px 0 25px}.nb-match-board{padding:24px;border-radius:22px;background:linear-gradient(145deg,#11281b,#0c1812);border:1px solid rgba(185,255,61,.14);box-shadow:var(--nb-shadow)}.nb-match-meta{display:flex;justify-content:space-between;color:#718078;font-size:.68rem;font-weight:950;letter-spacing:.08em}.nb-match-meta b{color:var(--nb-green)}.nb-match-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:26px 0}.nb-match-teams>div{display:grid;place-items:center;gap:8px;text-align:center}.nb-match-teams img{width:70px;height:70px;object-fit:contain}.nb-match-teams strong{font-size:1.4rem;color:#65766b}.nb-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.nb-odds span{padding:12px 14px;border-radius:10px;background:#172a1e;display:flex;justify-content:space-between;border:1px solid var(--nb-line)}.nb-odds small{color:#839288}.nb-odds b{color:var(--nb-green)}.nb-demo-note{display:block;text-align:center;color:#627168;margin-top:13px}
.nb-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.nb-trust article{display:flex;align-items:center;gap:14px;padding:20px;border-radius:16px;background:#0c1812;border:1px solid var(--nb-line)}.nb-trust article>span{width:43px;height:43px;flex:0 0 43px;border-radius:12px;background:#172a1e;display:grid;place-items:center;color:var(--nb-green);font-weight:950}.nb-trust h3{font-size:.9rem;margin:0 0 5px}.nb-trust p{font-size:.75rem;line-height:1.45;margin:0}

/* Slots catalog */
.nb-catalog-hero{margin-top:30px;min-height:300px;padding:42px 46px;border-radius:24px;display:grid;grid-template-columns:1fr 360px;gap:35px;align-items:center;background:radial-gradient(circle at 83% 50%,rgba(185,255,61,.18),transparent 22rem),linear-gradient(135deg,#10241a,#09150f);border:1px solid var(--nb-line);overflow:hidden}.nb-catalog-hero h1,.nb-simple-hero h1,.nb-game-launcher-head h1{max-width:780px;font-size:clamp(2.8rem,4.8vw,5.3rem);line-height:.92;letter-spacing:-.06em;margin:15px 0}.nb-catalog-hero p{max-width:630px;font-size:1rem}.nb-hero-mini{min-height:210px;padding:22px;border-radius:18px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.84)),var(--feature);background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.16);box-shadow:var(--nb-shadow)}.nb-hero-mini span{padding:5px 7px;border-radius:6px;background:var(--nb-green);color:#0a140d;font-size:.6rem;font-weight:950}.nb-hero-mini strong{font-size:1.35rem}.nb-hero-mini b{font-size:.75rem;color:var(--nb-green)}
.nb-category-tabs{display:flex;gap:8px;overflow:auto;padding:22px 0 5px}.nb-category-tabs a,.nb-category-tabs button{min-height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--nb-line);background:#0e1b14;color:#aebdb3;font-weight:850;font-size:.78rem;white-space:nowrap;cursor:pointer}.nb-category-tabs .active,.nb-category-tabs button:hover{background:var(--nb-green);color:#0a160e;border-color:var(--nb-green)}
.nb-catalog-section{padding-top:34px}.nb-toolbar{display:grid;grid-template-columns:1fr 230px 230px;gap:10px}.nb-search-field{height:48px;display:flex;align-items:center;gap:10px;padding:0 15px;border-radius:11px;background:#0e1b14;border:1px solid var(--nb-line)}.nb-search-field span{color:#728178}.nb-search-field input{min-width:0;flex:1;background:none;border:0;outline:0;color:#fff}.nb-toolbar select{height:48px;border-radius:11px;padding:0 13px;background:#0e1b14;border:1px solid var(--nb-line);color:#dbe5de;outline:none}.nb-results-head{margin:30px 0 16px;display:flex;align-items:end;justify-content:space-between;gap:20px}.nb-results-head>div{display:flex;align-items:baseline;gap:12px}.nb-results-head h2{font-size:1.5rem;margin:0}.nb-results-head span{color:#75877b;font-size:.76rem}.nb-filter-btn{height:40px;padding:0 14px;border-radius:10px;background:#0f1d16;border:1px solid var(--nb-line);color:#c7d2ca;font-weight:850;cursor:pointer}.nb-filter-btn.active{color:#0a160e;background:var(--nb-green)}
.nb-slots-grid{grid-template-columns:repeat(5,1fr);gap:15px}.nb-slots-grid .slot-card{position:relative;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.nb-slots-grid .slot-card:hover{transform:none}.nb-slots-grid .slot-cover-image-v14{height:auto;aspect-ratio:4/5;border-radius:16px;border:1px solid var(--nb-line);box-shadow:0 18px 40px rgba(0,0,0,.23);background-position:center}.nb-slots-grid .slot-cover-image-v14:after{background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.88))}.nb-slots-grid .slot-cover-image-v14 h3{font-family:Inter,sans-serif;text-transform:none;font-size:1rem;line-height:1.1;bottom:17px;left:14px;right:14px;text-shadow:0 2px 10px #000}.nb-slots-grid .slot-cover-image-v14 .badge-row{display:none}.nb-slots-grid .slot-card-body{padding:9px 2px 4px}.nb-slots-grid .slot-card-body p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.68rem;line-height:1.5}.nb-slots-grid .slot-card-body p:first-child{color:#8fa097}.nb-slots-grid .slot-card-body p:last-child{color:#65756b}.nb-slot-card-actions{position:absolute;z-index:4;top:9px;right:9px}.nb-slots-grid .slot-card:after{content:"▶";position:absolute;z-index:3;left:50%;top:40%;width:48px;height:48px;border-radius:50%;background:var(--nb-green);color:#0a160e;display:grid;place-items:center;opacity:0;transform:translate(-50%,-40%) scale(.8);transition:.17s}.nb-slots-grid .slot-card:hover:after{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* External games & sources */
.nb-game-launcher-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:50px 0 24px}.nb-game-launcher-head h1{margin-bottom:8px}.nb-game-launcher-head p{max-width:760px}.nb-source-pill{padding:12px 16px;border-radius:12px;background:#12251a;border:1px solid rgba(185,255,61,.2);display:grid;min-width:175px}.nb-source-pill span{color:#758a7c;font-size:.6rem;font-weight:950;letter-spacing:.1em}.nb-source-pill b{color:var(--nb-green);margin-top:5px}
.nb-source-note{margin-top:18px;padding:22px;border-radius:16px;background:#0d1b14;border:1px solid var(--nb-line);display:flex;align-items:center;justify-content:space-between;gap:25px}.nb-source-note h2{font-size:1.1rem;margin:0}.nb-source-note p{max-width:950px;font-size:.78rem;margin:7px 0 0}.nb-source-note p a,.nb-source-note>a{color:var(--nb-green);font-weight:850;white-space:nowrap}
.nb-simple-hero{max-width:900px;padding:72px 0 35px}.nb-simple-hero p{font-size:1rem;max-width:720px}.nb-source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.nb-source-grid article{padding:26px;border-radius:18px;background:#0d1b14;border:1px solid var(--nb-line)}.nb-source-icon{width:48px;height:48px;border-radius:13px;background:#182d20;display:grid;place-items:center;color:var(--nb-green);font-size:1.4rem;margin-bottom:25px}.nb-source-grid article>span{color:var(--nb-green);font-size:.63rem;font-weight:950;letter-spacing:.1em}.nb-source-grid h2{font-size:1.55rem;margin:7px 0}.nb-source-grid p{font-size:.82rem;max-width:560px}.nb-source-grid article>div:last-child{display:flex;gap:8px;margin-top:22px}.nb-source-grid article>div:last-child a{padding:10px 12px;border-radius:9px;background:#17291e;border:1px solid var(--nb-line);font-size:.72rem;font-weight:850}.nb-source-grid article>div:last-child a:first-child{background:var(--nb-green);color:#08130c}.nb-license-warning{margin-top:16px;padding:20px 22px;border-radius:15px;background:rgba(255,184,51,.07);border:1px solid rgba(255,184,51,.18);display:flex;gap:15px;align-items:start}.nb-license-warning b{color:#ffc45f}.nb-license-warning p{font-size:.78rem;margin:0}

/* Locally integrated open-source games */
@font-face{font-family:PlinkoDisplay;src:url('vendor/phaser-plinko/assets/fonts/aircruiserpunch.ttf') format('truetype');font-display:swap}
.nb-native-game-shell{border-radius:22px;overflow:hidden;border:1px solid var(--nb-line);background:#0a1510;box-shadow:var(--nb-shadow)}
.nb-native-game-bar{min-height:54px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#102018;border-bottom:1px solid var(--nb-line);font-size:.72rem;color:#9bad9f}
.nb-native-game-bar>span{display:flex;align-items:center;gap:9px;font-weight:850;color:#d5e0d8}.nb-native-game-bar i{width:8px;height:8px;border-radius:50%;background:var(--nb-green);box-shadow:0 0 10px var(--nb-green)}.nb-native-game-bar>div{display:flex;align-items:center;gap:14px}.nb-native-game-bar a{padding:8px 10px;border-radius:8px;background:#172a1e;border:1px solid var(--nb-line);color:#fff;font-weight:850}
.nb-native-game-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:760px}.nb-native-side{padding:34px 27px;border-right:1px solid var(--nb-line);background:linear-gradient(180deg,#12261a,#0a1510)}.nb-native-side h2{font-size:2rem;line-height:1.02;letter-spacing:-.05em;margin:13px 0 26px}.nb-native-side ol{padding-left:20px;color:#a8b7ad;font-size:.82rem;line-height:1.7}.nb-native-side li{margin-bottom:11px;padding-left:5px}.nb-native-warning{margin-top:35px;padding:15px;border-radius:12px;background:rgba(185,255,61,.07);border:1px solid rgba(185,255,61,.16)}.nb-native-warning b{color:var(--nb-green);font-size:.67rem;letter-spacing:.1em}.nb-native-warning p{font-size:.74rem;line-height:1.5;margin:6px 0 0}
.nb-phaser-stage{height:760px;min-width:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(185,255,61,.08),transparent 28rem),#08110d}.nb-phaser-stage #plinkoGameMount{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.nb-phaser-stage canvas{display:block!important;max-width:100%!important;max-height:100%!important;object-fit:contain}
.nb-source-grid.one-source{grid-template-columns:1fr}.nb-source-grid.one-source article{max-width:900px}.nb-source-grid dl{margin:22px 0 0;padding:14px;border-radius:12px;background:#09150f;border:1px solid var(--nb-line)}.nb-source-grid dl>div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:9px;border-bottom:1px solid var(--nb-line)}.nb-source-grid dl>div:last-child{border-bottom:0}.nb-source-grid dt{color:#72847a;font-size:.72rem}.nb-source-grid dd{margin:0;color:#e3ebe6;font-size:.76rem;font-weight:850}

/* Shared footer, overlays */
.nb-footer{max-width:1500px;margin:70px auto 0;padding:45px 24px 35px;border-top:1px solid var(--nb-line);display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:45px;color:#819187}.nb-footer img{width:150px;filter:saturate(.8)}.nb-footer p{font-size:.75rem;max-width:340px}.nb-footer h4{color:#eaf0ec;font-size:.74rem;margin:0 0 15px}.nb-footer a{display:block;font-size:.72rem;margin:9px 0;color:#83948a}.nb-footer a:hover{color:var(--nb-green)}.nb-footer-bottom{grid-column:1/-1;padding-top:22px;border-top:1px solid var(--nb-line);display:flex;justify-content:space-between;gap:20px;font-size:.66rem}.nb-footer-bottom b{color:var(--nb-green)}
.nb-overlay{position:fixed;inset:0;z-index:8000;background:rgba(3,9,6,.8);backdrop-filter:blur(14px);display:grid;place-items:start center;padding:95px 20px 20px;opacity:0;pointer-events:none;transition:.18s}.nb-overlay.open{opacity:1;pointer-events:auto}.nb-search-panel,.nb-account-panel{width:min(680px,100%);padding:22px;border-radius:20px;background:#102018;border:1px solid rgba(185,255,61,.18);box-shadow:0 30px 100px #000}.nb-search-panel>div:first-child,.nb-account-panel>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}.nb-search-panel h2,.nb-account-panel h2{margin:0;font-size:1.35rem}.nb-close{width:38px;height:38px;border-radius:10px;border:1px solid var(--nb-line);background:#182b20;color:#fff;cursor:pointer}.nb-global-search{width:100%;height:52px;border-radius:12px;border:1px solid var(--nb-line);background:#09150f;color:#fff;padding:0 15px;margin-top:18px;outline:none}.nb-global-results{margin-top:12px;display:grid;gap:7px;max-height:420px;overflow:auto}.nb-search-result{padding:12px;border-radius:10px;background:#14261b;display:flex;justify-content:space-between;gap:16px}.nb-search-result span{color:#7d9084;font-size:.72rem}.nb-account-panel{width:min(450px,100%)}.nb-account-panel p{font-size:.82rem}.nb-account-options{display:grid;gap:9px;margin-top:18px}.nb-account-options button{height:46px;border-radius:10px;border:1px solid var(--nb-line);background:#16291e;color:#fff;font-weight:850;cursor:pointer}.nb-account-options button:first-child{background:var(--nb-green);color:#0a150d}.nb-toast{position:fixed;right:20px;bottom:20px;z-index:9000;max-width:360px;padding:14px 16px;border-radius:12px;background:#172a1f;border:1px solid rgba(185,255,61,.25);box-shadow:0 16px 45px #0009;color:#fff;font-size:.78rem;transform:translateY(25px);opacity:0;transition:.2s}.nb-toast.show{transform:translateY(0);opacity:1}.nb-mobile-nav{display:none}
.novabet-app .age-card{background:#102018;border:1px solid rgba(185,255,61,.3)}.novabet-app .age-card .btn.primary{background:var(--nb-green);color:#0b160e;box-shadow:none}.novabet-app .age-card h1{font-size:1.8rem}.novabet-app .age-card p{font-size:.86rem}

/* Bring legacy pages into the new shell without changing their game code */
.novabet-app .page-hero{padding-top:55px;padding-bottom:32px}.novabet-app .page-hero .pill{background:var(--nb-green);color:#0b160e}.novabet-app .page-hero h1{font-family:Inter,sans-serif;text-transform:none;letter-spacing:-.055em}.novabet-app .page-hero p{max-width:760px}.novabet-app .sports-layout{padding-top:15px}.novabet-app .sports-sidebar,.novabet-app .sports-panel,.novabet-app .betslip{background:#0e1b14;border-color:var(--nb-line)}.novabet-app .sport-link.active{background:var(--nb-green);color:#0b160e}.novabet-app .market-btn,.novabet-app .coupon{border-color:var(--nb-line)}.novabet-app .market-btn:hover{border-color:var(--nb-green)}.novabet-app .btn.primary{background:var(--nb-green);color:#0b160e;box-shadow:none}.novabet-app .footer{display:none}

@media(max-width:1250px){
  .novabet-app .topbar{padding:0 20px;grid-template-columns:auto 1fr auto}.nb-primary-nav a{padding-left:8px;padding-right:8px}.nb-login{display:none}.nb-home-games{grid-template-columns:repeat(4,1fr)}.nb-slots-grid{grid-template-columns:repeat(4,1fr)}.nb-hero{grid-template-columns:1fr 1fr;gap:35px}.nb-feature-main{right:95px}.nb-feature-side{width:210px}.nb-ticker{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .novabet-app .topbar{display:flex;height:64px}.novabet-app .brand img{width:145px}.novabet-app .menu{display:block;margin-left:auto}.novabet-app .nav{position:fixed;left:12px;right:12px;top:73px;padding:16px;border-radius:16px;background:#102018;border:1px solid var(--nb-line);display:none;align-items:stretch;box-shadow:var(--nb-shadow)}.novabet-app .nav.open{display:grid}.nb-primary-nav{display:grid}.nb-primary-nav a{padding:12px;border:0;border-radius:8px}.nb-primary-nav a.active{background:#182b20}.nb-primary-nav a.active:before{display:none}.nb-account-nav{display:grid;grid-template-columns:1fr 1fr}.nb-nav-search,.nb-icon-btn{width:100%}.nb-wallet{grid-column:1/-1;justify-content:center}.nb-register{width:100%}.nb-hero{grid-template-columns:1fr;padding-top:45px}.nb-hero-copy{text-align:center;display:grid;justify-items:center}.nb-proof-row{justify-content:center}.nb-hero-visual{min-height:510px;max-width:730px;width:100%;margin:auto}.nb-home-games{grid-template-columns:repeat(3,1fr)}.nb-sports-block{grid-template-columns:1fr;gap:30px}.nb-catalog-hero{grid-template-columns:1fr}.nb-hero-mini{display:none}.nb-slots-grid{grid-template-columns:repeat(3,1fr)}.nb-toolbar{grid-template-columns:1fr 1fr}.nb-search-field{grid-column:1/-1}.nb-trust{grid-template-columns:1fr}.nb-footer{grid-template-columns:1.3fr 1fr 1fr}.nb-footer>div:nth-child(4){display:none}
}
@media(max-width:680px){
  .nb-main{padding:0 14px 82px}.nb-demo-bar{font-size:.6rem;text-align:center;padding:0 10px}.nb-hero{min-height:auto;padding:38px 0 28px}.nb-hero h1{font-size:3.15rem}.nb-hero-copy>p{font-size:.9rem}.nb-hero-actions{width:100%}.nb-hero-actions .nb-btn{flex:1}.nb-proof-row{gap:13px;width:100%}.nb-proof-row span{font-size:.58rem}.nb-hero-visual{min-height:410px}.nb-feature-main{inset:0 36px 18px 0;padding:21px}.nb-feature-side{width:150px;height:190px;top:25px}.nb-feature-card h2{font-size:1.85rem}.nb-floating-win{right:0;width:205px}.nb-ticker{grid-template-columns:repeat(2,1fr)}.nb-section{padding-top:50px}.nb-home-games{grid-template-columns:repeat(2,1fr);gap:10px}.nb-section-head h2,.nb-sports-copy h2{font-size:2rem}.nb-match-board{padding:17px}.nb-match-teams{gap:8px}.nb-match-teams img{width:54px;height:54px}.nb-trust{padding-bottom:0}.nb-catalog-hero{margin-top:14px;padding:28px 22px;min-height:270px}.nb-catalog-hero h1,.nb-simple-hero h1,.nb-game-launcher-head h1{font-size:3rem}.nb-category-tabs{margin-right:-14px}.nb-toolbar{grid-template-columns:1fr}.nb-search-field{grid-column:auto}.nb-results-head{align-items:center}.nb-results-head>div{display:grid;gap:3px}.nb-slots-grid{grid-template-columns:repeat(2,1fr);gap:11px}.nb-game-launcher-head{display:grid;padding-top:35px}.nb-source-pill{width:max-content}.nb-source-note{display:grid}.nb-source-grid{grid-template-columns:1fr}.nb-simple-hero{padding-top:48px}.nb-footer{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;padding-bottom:100px}.nb-footer>div:first-child{grid-column:1/-1}.nb-footer>div:nth-child(4){display:none}.nb-footer-bottom{display:grid}.nb-mobile-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:500;height:62px;padding:6px;border-radius:16px;background:rgba(15,31,22,.96);border:1px solid var(--nb-line);backdrop-filter:blur(20px);display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 16px 45px #000}.nb-mobile-nav a{display:grid;place-items:center;color:#718278;font-size:.6rem;font-weight:850}.nb-mobile-nav a span{font-size:1.1rem}.nb-mobile-nav a.active{color:var(--nb-green)}
}

@media(max-width:980px){
  .nb-native-game-layout{grid-template-columns:1fr}.nb-native-side{border-right:0;border-bottom:1px solid var(--nb-line)}.nb-phaser-stage{height:720px}
}
@media(max-width:680px){
  .nb-native-game-bar>div>span{display:none}.nb-native-game-layout{min-height:auto}.nb-native-side{padding:24px 20px}.nb-phaser-stage{height:620px}.nb-source-grid dl>div{grid-template-columns:1fr;gap:3px}
}

.nb-game-card{position:relative}
.nb-slots-grid .slot-card:after{pointer-events:none}
.nb-symbol-sprite{display:block;width:100%;height:100%;background-size:500% 200%;background-repeat:no-repeat;background-color:#101710}
.symbol-strip .nb-symbol-sprite{width:42px;height:42px;border-radius:8px;box-shadow:0 10px 16px #0007}
.active-grid .nb-symbol-sprite,.v15-symbol-panel .nb-symbol-sprite,.v16-symbols .nb-symbol-sprite{aspect-ratio:1;border-radius:8px}
.symbol .nb-symbol-sprite,.v13-symbol .nb-symbol-sprite,.symbol-v15 .nb-symbol-sprite,.symbol-v16 .nb-symbol-sprite{width:100%;height:100%}

/* =========================================================
   JUNGLE JACKPOT FLAGSHIP
   ========================================================= */
.jj-page{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:#020705;color:#f8f6e9;font-family:Inter,Arial,sans-serif}
.jj-page *{box-sizing:border-box}
.jj-page button,.jj-page a{font:inherit}
.jj-game{--gold:#f4cf62;--gold-deep:#94641c;--lime:#91f65a;--ink:#020705;position:relative;width:100vw;height:100dvh;min-height:690px;display:grid;grid-template-rows:64px minmax(0,1fr) 126px;isolation:isolate;overflow:hidden;background:#020705}
.jj-game:before{content:"";position:absolute;inset:0;z-index:-3;background-image:var(--jj-bg);background-size:cover;background-position:center 42%;filter:saturate(.82) brightness(.48) blur(1px);transform:scale(1.02)}
.jj-game:after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 38%,rgba(35,255,126,.15),transparent 30rem),linear-gradient(90deg,rgba(0,6,3,.9),rgba(0,0,0,.16) 24%,rgba(0,0,0,.16) 76%,rgba(0,6,3,.9)),linear-gradient(180deg,rgba(1,8,4,.3),rgba(1,8,4,.58) 64%,#010403)}
.jj-topbar{height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;gap:18px;background:rgba(2,9,5,.88);border-bottom:1px solid rgba(244,207,98,.2);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(0,0,0,.35)}
.jj-back{justify-self:start;height:40px;padding:0 14px;border:1px solid rgba(244,207,98,.25);border-radius:10px;background:rgba(11,26,16,.75);color:#dfe8e1;text-decoration:none;display:flex;align-items:center;gap:8px;font-weight:850;font-size:.76rem}.jj-back:first-letter{color:var(--gold);font-size:1.55rem}
.jj-brand{display:flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.08em}.jj-brand i{width:10px;height:10px;display:block;background:var(--lime);border-radius:50%;box-shadow:0 0 18px var(--lime)}.jj-brand b{font-size:1rem}.jj-brand span{color:#839188;font-weight:900;font-size:.58rem}
.jj-top-actions{justify-self:end;display:flex;align-items:center;gap:7px}.jj-top-actions button{height:38px;min-width:40px;padding:0 11px;border-radius:9px;border:1px solid rgba(244,207,98,.22);background:rgba(10,25,15,.84);color:#eaf0eb;font-size:.68rem;font-weight:850;cursor:pointer}.jj-top-actions button:hover{border-color:rgba(244,207,98,.55);color:var(--gold)}.jj-demo-pill{padding:7px 9px;border-radius:7px;background:rgba(145,246,90,.1);border:1px solid rgba(145,246,90,.2);color:var(--lime);font-size:.58rem;font-weight:950;letter-spacing:.08em}
.jj-stage{min-height:0;width:min(1260px,calc(100vw - 38px));margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:end;padding:9px 0 11px}
.jj-title-lockup{text-align:center;position:relative;z-index:2;filter:drop-shadow(0 8px 12px #000)}.jj-title-lockup>span{display:block;color:#dbbd61;font-family:Georgia,serif;font-size:.62rem;font-weight:900;letter-spacing:.38em;text-shadow:0 2px 5px #000}.jj-title-lockup h1{margin:1px 0 -2px;font-family:Georgia,serif;font-size:clamp(2.1rem,4.1vw,4.45rem);line-height:.88;letter-spacing:-.055em;background:linear-gradient(180deg,#fffbd0 0%,#f8db69 30%,#b8771d 66%,#ffe995 89%);-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(82,49,5,.55)}.jj-title-lockup h1 b{color:#63e15d;-webkit-text-fill-color:#63e15d;text-shadow:0 4px 0 #073d17}.jj-title-lockup small{color:#aac4b2;font-size:.58rem;font-weight:900;letter-spacing:.17em}
.jj-cabinet{min-height:0;align-self:stretch;display:grid;grid-template-rows:47px minmax(0,1fr) 44px;border-radius:22px;overflow:hidden;border:2px solid #a77a29;background:linear-gradient(180deg,#1b1608,#050b06);box-shadow:0 0 0 1px rgba(255,242,170,.23),0 28px 80px rgba(0,0,0,.67),0 0 65px rgba(25,223,97,.08);position:relative}
.jj-cabinet:before{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;box-shadow:inset 0 0 35px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,246,185,.28)}
.jj-cabinet-head{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;padding:0 16px;background:linear-gradient(180deg,#1b180d,#080a06);border-bottom:1px solid rgba(244,207,98,.27);text-align:center}.jj-cabinet-head>div{display:grid;gap:2px}.jj-cabinet-head>div:first-child{text-align:left}.jj-cabinet-head>div:last-child{text-align:right}.jj-cabinet-head span{color:#7e9184;font-size:.53rem;font-weight:950;letter-spacing:.12em}.jj-cabinet-head b{font-size:.68rem;color:#e9e3c6}.jj-feature-meter{height:32px;place-content:center;border-left:1px solid rgba(244,207,98,.16);border-right:1px solid rgba(244,207,98,.16)}.jj-feature-meter b{color:var(--gold)}
.jj-reel-window{min-height:0;position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;padding:8px 0;background:radial-gradient(circle at center,rgba(24,130,63,.25),transparent 32rem),linear-gradient(180deg,#07140b,#020704)}
.jj-ambient-glow{position:absolute;inset:15% 20%;background:#2bff8c;filter:blur(85px);opacity:.075;pointer-events:none}
.jj-reels{min-width:0;min-height:0;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:7px;border:1px solid rgba(244,207,98,.28);border-radius:14px;background:rgba(1,8,4,.78);box-shadow:inset 0 0 30px #000}
.jj-reel{min-width:0;min-height:0;overflow:hidden;border-radius:10px;border:1px solid rgba(244,207,98,.2);background:linear-gradient(180deg,#0e2818,#05120b);position:relative;box-shadow:inset 0 0 22px rgba(0,0,0,.78)}
.jj-reel:before,.jj-reel:after{content:"";position:absolute;z-index:3;left:0;right:0;height:18%;pointer-events:none}.jj-reel:before{top:0;background:linear-gradient(#010503,transparent)}.jj-reel:after{bottom:0;background:linear-gradient(transparent,#010503)}
.jj-reel-strip{height:100%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:5px;padding:5px;will-change:transform}
.jj-symbol{min-height:0;position:relative;display:grid;place-items:center;border-radius:9px;overflow:hidden;background:#07130d;box-shadow:inset 0 0 15px rgba(0,0,0,.52);transition:filter .26s,opacity .26s,transform .26s}
.jj-symbol img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;transform:scale(1.018);filter:saturate(1.03) contrast(1.02) drop-shadow(0 8px 8px rgba(0,0,0,.5))}
.jj-symbol>span{position:absolute;left:6px;right:6px;bottom:5px;text-align:center;color:#fff7b3;font-family:Georgia,serif;font-size:clamp(.48rem,.65vw,.66rem);font-weight:950;letter-spacing:.08em;text-shadow:0 2px 3px #000,0 0 8px #000}.jj-symbol:not(.is-wild):not(.is-scatter)>span{display:none}
.jj-reel.spinning .jj-reel-strip{animation:jjReelTravel .21s linear infinite;filter:blur(2.6px) saturate(.78);opacity:.8}.jj-reel.stopped{animation:jjReelStop .3s cubic-bezier(.2,.9,.3,1.25)}
@keyframes jjReelTravel{from{transform:translateY(-5%)}to{transform:translateY(5%)}}
@keyframes jjReelStop{0%{transform:translateY(-2.5%)}55%{transform:translateY(1.4%)}100%{transform:none}}
.jj-symbol.dim{filter:brightness(.35) saturate(.5);opacity:.52}.jj-symbol.win{z-index:4;opacity:1;filter:none;animation:jjSymbolWin .9s ease-in-out infinite alternate;box-shadow:inset 0 0 0 2px #f9dd72,0 0 18px rgba(128,255,103,.75)}
@keyframes jjSymbolWin{from{transform:scale(.96);filter:brightness(1)}to{transform:scale(1.045);filter:brightness(1.28) saturate(1.18)}}
.jj-lines{display:flex;flex-direction:column;justify-content:space-around;align-items:center;padding:5px 0;z-index:4}.jj-lines i{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#15301d;border:1px solid rgba(244,207,98,.42);color:#e8d38a;font-style:normal;font-size:.51rem;font-weight:950;box-shadow:0 4px 12px #000}.jj-lines.right i{background:#142b25;color:#7cecff}
.jj-payline-layer{position:absolute;z-index:5;left:40px;right:40px;top:8px;bottom:8px;width:calc(100% - 80px);height:calc(100% - 16px);pointer-events:none;overflow:visible}.jj-payline-layer polyline{fill:none;stroke:var(--line);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px var(--line));stroke-dasharray:1400;animation:jjDrawLine .55s ease both}
@keyframes jjDrawLine{from{stroke-dashoffset:1400;opacity:0}to{stroke-dashoffset:0;opacity:.96}}
.jj-anticipation{position:absolute;inset:0;z-index:7;display:grid;place-items:center;pointer-events:none;opacity:0;background:radial-gradient(circle,transparent 25%,rgba(10,255,97,.19),transparent 70%);transition:.2s}.jj-anticipation span{padding:10px 16px;border:1px solid rgba(244,207,98,.55);border-radius:999px;background:rgba(2,11,6,.9);color:var(--gold);font-family:Georgia,serif;font-size:.72rem;font-weight:900;letter-spacing:.16em;box-shadow:0 0 40px rgba(51,255,115,.25)}.jj-anticipation.show{opacity:1;animation:jjAnticipate .68s ease-in-out infinite alternate}@keyframes jjAnticipate{to{filter:brightness(1.4)}}
.jj-status{display:grid;grid-template-columns:auto auto 1fr;align-items:center;justify-content:center;gap:9px;padding:0 18px;background:linear-gradient(180deg,#090b07,#030604);border-top:1px solid rgba(244,207,98,.22);text-align:center}.jj-status-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}.jj-status b{font-size:.7rem}.jj-status small{justify-self:end;color:#6f8175;font-size:.56rem;font-weight:800}
.jj-control-deck{height:126px;display:grid;grid-template-columns:155px 300px 190px 150px 150px;justify-content:center;align-items:center;gap:12px;padding:12px 18px 17px;background:linear-gradient(180deg,rgba(4,10,6,.96),#010302);border-top:1px solid rgba(244,207,98,.2);box-shadow:0 -16px 40px rgba(0,0,0,.42)}
.jj-session{height:74px;padding:11px 13px;border-right:1px solid rgba(244,207,98,.18);display:grid;align-content:center;gap:7px;color:#78887e;font-size:.55rem;font-weight:900;letter-spacing:.08em}.jj-session span{display:flex;justify-content:space-between;gap:12px}.jj-session b{color:#dfe8e1}
.jj-meters{height:74px;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(244,207,98,.18);border-radius:13px;overflow:hidden;background:#050906}.jj-meter{padding:10px 13px;display:grid;align-content:center;gap:4px}.jj-meter+ .jj-meter{border-left:1px solid rgba(244,207,98,.15)}.jj-meter>span,.jj-bet-control>span{color:#73827a;font-size:.52rem;font-weight:950;letter-spacing:.1em}.jj-meter>b{font-size:1.08rem;color:#fff}.jj-meter small{font-size:.5rem;color:#839189}.jj-win-meter b{color:var(--gold)}
.jj-bet-control{height:74px;display:grid;align-content:center;justify-items:center;gap:7px}.jj-bet-control>div{display:grid;grid-template-columns:38px 76px 38px;gap:5px}.jj-bet-control button{height:37px;border-radius:9px;border:1px solid rgba(244,207,98,.3);background:#122218;color:#f4db83;font-size:1.1rem;cursor:pointer}.jj-bet-control b{display:grid;place-items:center;border-radius:9px;background:#050906;border:1px solid rgba(244,207,98,.18);color:#fff;font-size:.92rem}
.jj-spin{height:82px;border-radius:50%;aspect-ratio:1;border:4px solid #d9ffd1;outline:3px solid rgba(42,131,47,.6);background:radial-gradient(circle at 50% 20%,#adff75,#28cc43 52%,#087d29 100%);color:#04200d;display:grid;place-content:center;gap:1px;cursor:pointer;box-shadow:inset 0 2px 9px #fff9,0 0 29px rgba(70,255,95,.48),0 9px 22px #000;font-weight:1000;text-shadow:0 1px #fff6;transition:transform .16s,filter .16s}.jj-spin:hover{transform:scale(1.04);filter:brightness(1.1)}.jj-spin:active{transform:scale(.97)}.jj-spin:disabled{cursor:wait;filter:saturate(.45);transform:none}.jj-spin span{font-size:.9rem}.jj-spin small{font-size:.5rem;text-transform:uppercase}
.jj-secondary-actions{height:74px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.jj-secondary-actions button{border:1px solid rgba(244,207,98,.18);border-radius:11px;background:#0b1710;color:#dfe8e1;display:grid;place-content:center;gap:3px;cursor:pointer}.jj-secondary-actions button:hover{border-color:rgba(244,207,98,.45);color:var(--gold)}.jj-secondary-actions b{font-size:.95rem}.jj-secondary-actions span{font-size:.52rem;font-weight:850}
.jj-free-counter{position:absolute;z-index:12;top:78px;right:22px;width:115px;padding:11px 8px;border-radius:13px;background:rgba(8,25,13,.93);border:1px solid rgba(244,207,98,.48);box-shadow:0 15px 40px #000;display:grid;place-items:center}.jj-free-counter[hidden]{display:none}.jj-free-counter span,.jj-free-counter small{color:var(--gold);font-size:.48rem;font-weight:950;letter-spacing:.09em}.jj-free-counter b{font-size:1.7rem;color:#fff}
.jj-big-win{position:fixed;z-index:90;inset:0;display:grid;place-content:center;justify-items:center;background:radial-gradient(circle,rgba(30,133,57,.88),rgba(0,4,2,.9) 48%,rgba(0,0,0,.96));opacity:0;pointer-events:none;transform:scale(.85);transition:.25s}.jj-big-win.show{opacity:1;transform:scale(1);animation:jjBigWinGlow .75s ease-in-out infinite alternate}.jj-big-win span{color:#fff0a3;font-family:Georgia,serif;font-size:clamp(2rem,5vw,5.5rem);font-weight:900;letter-spacing:.05em;text-shadow:0 5px 0 #6d4300,0 0 30px #ffdc55}.jj-big-win b{font-size:clamp(4rem,11vw,10rem);line-height:.9;color:#fff;text-shadow:0 0 35px #7cff8d}.jj-big-win small{color:#b8d7c1;font-weight:900;letter-spacing:.28em}@keyframes jjBigWinGlow{to{filter:brightness(1.18)}}
.jj-dialog{width:min(900px,calc(100vw - 32px));max-height:min(780px,calc(100dvh - 38px));padding:0;border:1px solid rgba(244,207,98,.34);border-radius:20px;background:#09130d;color:#eaf0ec;box-shadow:0 35px 120px #000;overflow:hidden}.jj-dialog::backdrop{background:rgba(0,4,2,.82);backdrop-filter:blur(12px)}.jj-dialog-head{min-height:76px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#14251a,#0b160f);border-bottom:1px solid rgba(244,207,98,.17)}.jj-dialog-head span{color:var(--gold);font-size:.5rem;font-weight:950;letter-spacing:.15em}.jj-dialog-head h2{margin:3px 0 0;font-size:1.25rem}.jj-dialog-head button{width:40px;height:40px;border-radius:10px;border:1px solid rgba(244,207,98,.2);background:#09110c;color:#fff;font-size:1.3rem;cursor:pointer}.jj-dialog-tabs{height:48px;padding:6px 12px;display:flex;gap:6px;border-bottom:1px solid rgba(244,207,98,.12)}.jj-dialog-tabs button{padding:0 14px;border:0;border-radius:8px;background:transparent;color:#84958a;font-size:.68rem;font-weight:850;cursor:pointer}.jj-dialog-tabs button.active{background:#1b3221;color:var(--gold)}.jj-dialog-body{max-height:calc(100dvh - 190px);overflow:auto;padding:18px}.jj-rule-lead{margin:0 0 14px;color:#9fb0a5;font-size:.74rem}.jj-pay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.jj-pay-card,.jj-scatter-rule{min-height:82px;padding:8px;border-radius:12px;background:#102019;border:1px solid rgba(244,207,98,.12);display:flex;align-items:center;gap:11px}.jj-pay-card img,.jj-scatter-rule img{width:64px;height:64px;object-fit:cover;border-radius:9px}.jj-pay-card div,.jj-scatter-rule div{display:grid;gap:5px}.jj-pay-card b,.jj-scatter-rule b{font-size:.72rem}.jj-pay-card span,.jj-scatter-rule span{color:#94a79a;font-size:.64rem;line-height:1.4}.jj-scatter-rule{margin-top:9px;background:rgba(94,71,15,.24);border-color:rgba(244,207,98,.3)}.jj-rules-copy{color:#b7c5bc;font-size:.78rem;line-height:1.65}.jj-rules-copy ol{margin:0;padding-left:21px}.jj-rules-copy li{margin-bottom:9px}.jj-rules-copy p{padding:14px;border-radius:11px;background:#0e1d15;border:1px solid rgba(244,207,98,.1)}.jj-rules-copy code{color:#f1da83}
.jj-legal{position:absolute;left:16px;bottom:3px;margin:0;color:#45534a;font-size:.47rem;pointer-events:none}.jj-loading,.jj-error{width:100vw;height:100dvh;display:grid;place-content:center;justify-items:center;gap:13px;background:#030806;color:#dce6df}.jj-loading span{width:48px;height:48px;border:3px solid #1d3a27;border-top-color:#8bf65c;border-radius:50%;animation:jjLoader .8s linear infinite}@keyframes jjLoader{to{transform:rotate(1turn)}}.jj-error span{color:#87988d}.jj-error a{color:#9aff67}
@media(max-width:980px){.jj-game{min-height:650px;grid-template-rows:58px minmax(0,1fr) 112px}.jj-topbar{height:58px}.jj-top-actions #jjMotionBtn,.jj-demo-pill{display:none}.jj-stage{width:calc(100vw - 18px);padding-top:5px}.jj-title-lockup h1{font-size:clamp(2rem,6vw,3.6rem)}.jj-cabinet{grid-template-rows:40px minmax(0,1fr) 39px}.jj-reel-window{grid-template-columns:30px minmax(0,1fr) 30px}.jj-payline-layer{left:30px;right:30px;width:calc(100% - 60px)}.jj-lines i{width:18px;height:18px;font-size:.42rem}.jj-control-deck{height:112px;grid-template-columns:230px 170px 112px 132px;gap:8px;padding:8px 10px 14px}.jj-session{display:none}.jj-meters{height:68px}.jj-bet-control{height:68px}.jj-spin{height:76px}.jj-secondary-actions{height:68px}.jj-status small{display:none}}
@media(max-width:640px){.jj-page{overflow:auto}.jj-game{min-height:720px;height:100dvh;grid-template-rows:54px minmax(0,1fr) 150px}.jj-topbar{height:54px;padding:0 9px;grid-template-columns:1fr auto}.jj-brand{display:none}.jj-back{height:36px}.jj-top-actions button{height:35px;min-width:36px;padding:0 8px}.jj-stage{width:100%;padding:4px 6px 7px}.jj-title-lockup>span,.jj-title-lockup small{display:none}.jj-title-lockup h1{font-size:2.05rem;margin:0 0 3px}.jj-cabinet{border-radius:15px;grid-template-rows:37px minmax(0,1fr) 38px}.jj-cabinet-head{padding:0 7px;grid-template-columns:1fr 1.25fr 1fr}.jj-cabinet-head span{font-size:.4rem}.jj-cabinet-head b{font-size:.51rem}.jj-reel-window{grid-template-columns:18px minmax(0,1fr) 18px;padding:4px 0}.jj-reels{gap:3px;padding:4px;border-radius:8px}.jj-reel{border-radius:6px}.jj-reel-strip{gap:3px;padding:3px}.jj-symbol{border-radius:5px}.jj-symbol>span{font-size:.38rem;bottom:2px;letter-spacing:0}.jj-lines i{width:14px;height:14px;border:0;background:transparent!important;font-size:.37rem}.jj-payline-layer{left:18px;right:18px;top:4px;bottom:4px;width:calc(100% - 36px);height:calc(100% - 8px)}.jj-status{padding:0 8px;grid-template-columns:auto 1fr;gap:6px;text-align:left}.jj-status b{font-size:.59rem}.jj-control-deck{height:150px;grid-template-columns:1fr 120px 1fr;grid-template-rows:68px 54px;gap:7px;padding:7px 8px 13px}.jj-meters{grid-column:1/3;grid-row:1;height:68px}.jj-bet-control{grid-column:1/3;grid-row:2;height:50px;grid-template-columns:auto 1fr;align-items:center;justify-items:start;padding-left:8px}.jj-bet-control>div{grid-template-columns:34px 64px 34px}.jj-bet-control button{height:34px}.jj-spin{grid-column:3;grid-row:1/3;height:88px;align-self:center}.jj-secondary-actions{display:none}.jj-legal{bottom:2px;left:8px;right:125px;font-size:.38rem}.jj-free-counter{top:62px;right:8px;width:90px}.jj-pay-grid{grid-template-columns:1fr}.jj-dialog-body{padding:12px}.jj-pay-card{min-height:70px}.jj-pay-card img,.jj-scatter-rule img{width:54px;height:54px}}
@media(max-width:390px){.jj-game{min-height:650px}.jj-control-deck{grid-template-columns:1fr 104px 1fr}.jj-spin{height:80px}.jj-title-lockup h1{font-size:1.72rem}.jj-cabinet-head>div:first-child{display:none}.jj-cabinet-head{grid-template-columns:1.4fr 1fr}.jj-reels{gap:2px;padding:3px}.jj-reel-strip{gap:2px;padding:2px}}
@media(prefers-reduced-motion:reduce){.jj-page *,.jj-page *:before,.jj-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.jj-reel.spinning .jj-reel-strip{filter:none}}
.jj-reduce-motion *,.jj-reduce-motion *:before,.jj-reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.jj-reduce-motion .jj-reel.spinning .jj-reel-strip{filter:none}

/* =========================================================
   JUNGLE JACKPOT V29 — BEAR PLINKO VISUAL POLISH
   ========================================================= */
.jj-game{--bear-gold:#ffd968;--bear-bronze:#9a5916;--jungle-green:#5eff78}
.jj-game:before{animation:jjBackgroundBreathe 16s ease-in-out infinite alternate;will-change:transform}
@keyframes jjBackgroundBreathe{from{transform:scale(1.02);filter:saturate(.82) brightness(.46) blur(1px)}to{transform:scale(1.055);filter:saturate(.96) brightness(.54) blur(.3px)}}
.jj-game:after{background:radial-gradient(circle at 50% 38%,rgba(35,255,126,.19),transparent 31rem),radial-gradient(circle at 50% 120%,rgba(239,184,61,.1),transparent 48%),linear-gradient(90deg,rgba(0,6,3,.93),rgba(0,0,0,.13) 24%,rgba(0,0,0,.13) 76%,rgba(0,6,3,.93)),linear-gradient(180deg,rgba(1,8,4,.22),rgba(1,8,4,.6) 66%,#010403)}
.jj-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:paint}
.jj-atmosphere:before,.jj-atmosphere:after{content:"";position:absolute;inset:-20%;background:conic-gradient(from 180deg at 50% 0,transparent 0 42%,rgba(255,225,125,.08) 47%,transparent 52% 100%);transform-origin:50% 0;animation:jjGodRays 11s ease-in-out infinite alternate}
.jj-atmosphere:after{transform:rotate(22deg);opacity:.45;animation-delay:-5s}
@keyframes jjGodRays{to{transform:rotate(-12deg) scale(1.08);opacity:.65}}
.jj-atmosphere i{position:absolute;left:var(--x);top:112%;width:4px;height:4px;border-radius:50%;background:#dfff72;box-shadow:0 0 8px #a4ff75,0 0 18px rgba(144,255,105,.65);opacity:0;animation:jjFirefly var(--dur) linear infinite;animation-delay:var(--delay);will-change:transform,opacity}
.jj-atmosphere i:nth-child(3n){background:#ffd85f;box-shadow:0 0 8px #ffd85f,0 0 20px rgba(255,196,63,.55)}
@keyframes jjFirefly{0%{transform:translate3d(0,0,0) scale(.45);opacity:0}15%{opacity:.72}50%{transform:translate3d(28px,-52vh,0) scale(1);opacity:.92}80%{opacity:.5}100%{transform:translate3d(-20px,-112vh,0) scale(.3);opacity:0}}
.jj-topbar{box-shadow:0 12px 35px rgba(0,0,0,.35),inset 0 -1px rgba(255,226,121,.05)}
.jj-title-lockup h1{filter:drop-shadow(0 0 16px rgba(224,179,65,.16));animation:jjTitleBreath 4.5s ease-in-out infinite alternate}
@keyframes jjTitleBreath{to{filter:drop-shadow(0 0 24px rgba(112,255,107,.26)) brightness(1.06)}}
.jj-cabinet{isolation:isolate;box-shadow:0 0 0 1px rgba(255,242,170,.26),0 34px 88px rgba(0,0,0,.72),0 0 75px rgba(25,223,97,.1),inset 0 0 0 1px rgba(255,229,132,.04);contain:layout paint}
.jj-cabinet:after{content:"";position:absolute;z-index:8;inset:-80% -30%;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,240,170,.11) 49%,rgba(255,255,255,.23) 50%,rgba(255,240,170,.09) 52%,transparent 59%);transform:translateX(-62%) rotate(4deg);animation:jjCabinetSweep 9s ease-in-out infinite}
@keyframes jjCabinetSweep{0%,62%{transform:translateX(-62%) rotate(4deg);opacity:0}68%{opacity:1}82%,100%{transform:translateX(62%) rotate(4deg);opacity:0}}
.jj-cabinet.has-win{animation:jjCabinetWin .65s ease-in-out 2 alternate}
@keyframes jjCabinetWin{to{box-shadow:0 0 0 2px rgba(255,238,151,.52),0 34px 88px rgba(0,0,0,.72),0 0 95px rgba(77,255,104,.32),inset 0 0 30px rgba(255,208,75,.08)}}
.jj-cabinet.anticipating{animation:jjTempleHeartbeat .62s ease-in-out infinite alternate}
@keyframes jjTempleHeartbeat{to{filter:brightness(1.12);box-shadow:0 0 0 2px rgba(255,224,102,.55),0 34px 88px #000,0 0 90px rgba(255,189,48,.28)}}
.jj-feature-meter b{position:relative;text-shadow:0 0 13px rgba(255,216,86,.22)}
.jj-feature-meter b:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:jjFeatureLine 2.6s ease-in-out infinite}
@keyframes jjFeatureLine{50%{filter:brightness(1.8);transform:scaleX(.72)}}
.jj-reel-window{isolation:isolate;overflow:hidden}
.jj-reel-window:before,.jj-reel-window:after{content:"";position:absolute;z-index:1;top:-20%;bottom:-20%;width:20%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(46,255,116,.045),transparent);filter:blur(8px);animation:jjReelMist 10s ease-in-out infinite}
.jj-reel-window:before{left:8%}.jj-reel-window:after{right:8%;animation-delay:-5s}
@keyframes jjReelMist{50%{transform:translateX(55%) skewX(-8deg);opacity:.35}}
.jj-temple-shine{position:absolute;z-index:2;left:42%;top:-35%;width:16%;height:170%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,236,152,.09),transparent);transform:rotate(8deg);filter:blur(3px);animation:jjTempleShine 7.5s ease-in-out infinite}
@keyframes jjTempleShine{0%,55%{transform:translateX(-280%) rotate(8deg);opacity:0}65%{opacity:1}85%,100%{transform:translateX(300%) rotate(8deg);opacity:0}}
.jj-reels{position:relative;z-index:3;box-shadow:inset 0 0 38px #000,0 0 0 1px rgba(255,226,110,.05),0 0 40px rgba(24,255,104,.045)}
.jj-reel{transform:translateZ(0);backface-visibility:hidden}
.jj-reel:before{height:24%;background:linear-gradient(#010503,rgba(1,5,3,.74),transparent)}.jj-reel:after{height:24%;background:linear-gradient(transparent,rgba(1,5,3,.76),#010503)}
.jj-reel.spinning{box-shadow:inset 0 0 30px #000,0 0 16px rgba(83,255,125,.12)}
.jj-reel.stopped:after{animation:jjStopFlash .38s ease-out}
@keyframes jjStopFlash{0%{background:linear-gradient(transparent,rgba(255,232,125,.24),#010503)}100%{background:linear-gradient(transparent,rgba(1,5,3,.76),#010503)}}
.jj-symbol{backface-visibility:hidden;transform:translateZ(0)}
.jj-symbol.is-scatter:not(.dim){animation:jjScatterIdle 2.1s ease-in-out infinite alternate}
@keyframes jjScatterIdle{to{filter:brightness(1.16) saturate(1.15);box-shadow:inset 0 0 0 1px rgba(255,236,135,.34),0 0 16px rgba(255,200,46,.21)}}
.jj-symbol.win:after{content:"";position:absolute;inset:-45%;background:conic-gradient(transparent 0 43%,rgba(255,255,255,.72) 48%,transparent 54% 100%);animation:jjSymbolSweep 1.05s linear infinite;mix-blend-mode:screen}
@keyframes jjSymbolSweep{to{transform:rotate(1turn)}}
.jj-payline-layer polyline{stroke-width:6;animation:jjDrawLine .6s cubic-bezier(.2,.8,.2,1) both,jjPaylinePulse 1.1s .6s ease-in-out infinite alternate}
@keyframes jjPaylinePulse{to{opacity:.63;stroke-width:8}}
.jj-anticipation{background:radial-gradient(circle,rgba(255,210,66,.13),rgba(10,255,97,.11) 33%,rgba(0,4,2,.76) 85%);backdrop-filter:brightness(.58) saturate(.75)}
.jj-anticipation-rune{position:absolute;width:min(44vw,430px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,221,105,.42);box-shadow:inset 0 0 0 9px rgba(255,221,105,.025),0 0 50px rgba(255,209,74,.12);background:repeating-conic-gradient(from 0deg,rgba(255,221,105,.42) 0 1deg,transparent 1deg 18deg);mask:radial-gradient(circle,transparent 0 52%,#000 53% 57%,transparent 58% 68%,#000 69% 71%,transparent 72%);animation:jjRuneSpin 8s linear infinite}
@keyframes jjRuneSpin{to{transform:rotate(1turn)}}
.jj-anticipation span{z-index:2;transform:translateY(72px);background:linear-gradient(180deg,rgba(28,20,5,.95),rgba(2,11,6,.94));box-shadow:0 0 44px rgba(255,210,65,.24),inset 0 1px rgba(255,255,255,.1)}
.jj-spin{position:relative;overflow:hidden;animation:jjSpinIdle 2.4s ease-in-out infinite alternate}
.jj-spin:before{content:"";position:absolute;inset:-50%;background:conic-gradient(transparent 0 42%,rgba(255,255,255,.8) 48%,transparent 54%);animation:jjSpinSweep 3.2s linear infinite;mix-blend-mode:soft-light}
.jj-spin span,.jj-spin small{position:relative;z-index:2}
@keyframes jjSpinIdle{to{box-shadow:inset 0 2px 9px #fff9,0 0 38px rgba(70,255,95,.63),0 9px 22px #000;filter:saturate(1.08)}}
@keyframes jjSpinSweep{to{transform:rotate(1turn)}}
.jj-status-dot{animation:jjStatusPulse 1.4s ease-in-out infinite alternate}@keyframes jjStatusPulse{to{transform:scale(1.45);box-shadow:0 0 19px var(--lime)}}

/* Big / Flow win */
.jj-big-win{z-index:140;display:grid;place-content:center;justify-items:center;isolation:isolate;background:radial-gradient(circle at 50% 48%,rgba(69,178,63,.9),rgba(10,53,25,.91) 27%,rgba(0,8,3,.96) 58%,#000 100%);transform:none;overflow:hidden}
.jj-big-win:before,.jj-big-win:after{content:"";position:absolute;inset:-30%;z-index:-2;background:repeating-conic-gradient(from 0deg,rgba(255,219,91,.16) 0 5deg,transparent 5deg 15deg);mask:radial-gradient(circle,transparent 0 18%,#000 34%,transparent 72%);animation:jjWinRays 12s linear infinite}
.jj-big-win:after{animation-direction:reverse;animation-duration:18s;opacity:.45;transform:scale(.72)}
@keyframes jjWinRays{to{transform:rotate(1turn)}}
.jj-big-win.show{animation:jjWinReveal .42s cubic-bezier(.15,.85,.25,1.18) both,jjBigWinGlow .75s .42s ease-in-out infinite alternate}
@keyframes jjWinReveal{from{opacity:0;transform:scale(.55);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:none}}
.jj-win-sun{position:absolute;width:min(74vw,780px);aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,232,134,.45);box-shadow:0 0 0 16px rgba(255,224,107,.025),0 0 0 36px rgba(255,224,107,.018),0 0 100px rgba(255,213,74,.34);background:radial-gradient(circle,rgba(255,230,120,.18),transparent 62%);animation:jjWinSun 4.2s ease-in-out infinite alternate}
@keyframes jjWinSun{to{transform:scale(1.08) rotate(8deg);filter:brightness(1.3)}}
.jj-win-claws{position:absolute;inset:0;display:flex;justify-content:center;gap:34px;transform:rotate(-12deg) scale(1.35);opacity:.16;filter:drop-shadow(0 0 12px #ffd965)}
.jj-win-claws i{width:16px;height:130%;border-radius:100%;background:linear-gradient(transparent,#fff2a5 28%,#ffc544 67%,transparent);transform:skewX(-7deg)}
.jj-big-win span,.jj-big-win b,.jj-big-win small,.jj-big-win em{position:relative;z-index:2}
.jj-big-win span{font-size:clamp(2.4rem,6vw,6.2rem);letter-spacing:.035em;transform:skewX(-4deg);background:linear-gradient(180deg,#fffbd3,#ffd55b 47%,#a75a0b 82%,#fff0a3);-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(89,44,0,.7)}
.jj-big-win b{font-variant-numeric:tabular-nums;font-size:clamp(4.8rem,13vw,12rem);background:linear-gradient(180deg,#fff,#d7ffd6 45%,#5dff7d 74%,#147d30);-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(8,75,25,.7);filter:drop-shadow(0 0 26px rgba(113,255,139,.55))}
.jj-big-win small{margin-top:8px;color:#fff2b0}.jj-big-win em{margin-top:18px;color:#b9d9c2;font-style:normal;font-size:clamp(.62rem,1vw,.82rem);font-weight:900;letter-spacing:.24em}

/* Bear gate intro */
.jj-bear-gate{position:fixed;z-index:130;inset:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 43%,rgba(105,72,7,.35),rgba(1,10,4,.94) 50%,#000 100%);isolation:isolate}
.jj-bear-gate.show{opacity:1;visibility:visible;animation:jjGateIn .5s ease both}
.jj-bear-gate.depart{animation:jjGateOut .68s ease both}
@keyframes jjGateIn{from{opacity:0;filter:blur(13px) brightness(.3)}to{opacity:1;filter:none}}
@keyframes jjGateOut{to{opacity:0;filter:blur(18px) brightness(1.5);transform:scale(1.12)}}
.jj-bear-fog{position:absolute;inset:-35%;background:radial-gradient(ellipse at 20% 75%,rgba(162,255,143,.17),transparent 34%),radial-gradient(ellipse at 80% 72%,rgba(255,209,91,.16),transparent 37%);filter:blur(32px);animation:jjFog 5s ease-in-out infinite alternate}
@keyframes jjFog{to{transform:translate3d(5%,-4%,0) scale(1.08)}}
.jj-bear-rays{position:absolute;inset:-35%;background:repeating-conic-gradient(from 0deg at 50% 42%,rgba(255,213,81,.14) 0 4deg,transparent 4deg 17deg);mask:radial-gradient(circle at 50% 42%,transparent 0 18%,#000 34%,transparent 67%);animation:jjBearRays 16s linear infinite}
@keyframes jjBearRays{to{transform:rotate(1turn)}}
.jj-bear-rune{position:absolute;width:min(79vh,72vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,224,112,.34);background:repeating-conic-gradient(rgba(255,224,112,.38) 0 1deg,transparent 1deg 12deg);mask:radial-gradient(circle,transparent 0 59%,#000 60% 62%,transparent 63% 72%,#000 73% 74%,transparent 75%);animation:jjRuneSpin 14s linear infinite}
.jj-bear-portrait{position:absolute;left:50%;top:47%;width:min(58vh,540px);aspect-ratio:1;transform:translate(-50%,-50%) scale(.35);opacity:0;filter:drop-shadow(0 26px 40px #000) drop-shadow(0 0 40px rgba(255,199,56,.42));overflow:hidden;border-radius:46% 46% 38% 38%;box-shadow:0 0 0 2px rgba(255,229,128,.45),0 0 70px rgba(255,194,50,.3);background:#120b02}
.jj-bear-portrait img{width:100%;height:123%;object-fit:cover;object-position:50% 0;transform:scale(1.1);filter:saturate(1.18) contrast(1.1) brightness(1.03)}
.jj-bear-gate.show .jj-bear-portrait{animation:jjBearRise 1.05s .18s cubic-bezier(.1,.82,.22,1.18) forwards}
@keyframes jjBearRise{to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.jj-bear-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 37%,rgba(255,255,255,.52) 48%,transparent 56%);transform:translateX(-120%);animation:jjBearGloss 2.1s 1s ease-out both}
@keyframes jjBearGloss{to{transform:translateX(120%)}}
.jj-bear-portrait i{position:absolute;top:39%;width:5.2%;height:2.2%;border-radius:50%;background:#fff7a4;box-shadow:0 0 9px 3px #ffef7d,0 0 28px 8px #ffbf24;opacity:0}.jj-bear-portrait i:first-of-type{left:31.4%}.jj-bear-portrait i:last-of-type{right:31.4%}
.jj-bear-gate.roar .jj-bear-portrait{animation:jjBearRoar .44s cubic-bezier(.3,.02,.2,1) 3 alternate}
.jj-bear-gate.roar .jj-bear-portrait i{animation:jjEyes .7s ease forwards}
@keyframes jjBearRoar{to{transform:translate(-50%,-50%) scale(1.075) rotate(.35deg);filter:drop-shadow(0 28px 45px #000) drop-shadow(0 0 80px rgba(255,207,68,.7)) brightness(1.16)}}
@keyframes jjEyes{to{opacity:1}}
.jj-bear-copy{position:absolute;z-index:4;left:50%;bottom:6.5%;width:min(94vw,900px);transform:translateX(-50%) translateY(45px);text-align:center;opacity:0;text-shadow:0 4px 14px #000}
.jj-bear-gate.show .jj-bear-copy{animation:jjBearCopy .7s 1.03s ease forwards}
@keyframes jjBearCopy{to{opacity:1;transform:translateX(-50%) translateY(0)}}
.jj-bear-copy>span{color:#d2e0d5;font-size:clamp(.52rem,1.1vw,.72rem);font-weight:950;letter-spacing:.28em}.jj-bear-copy h2{margin:5px 0 4px;font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,6rem);line-height:.8;letter-spacing:-.04em;color:#fff4be;-webkit-text-stroke:1px #70400c}.jj-bear-copy h2 b{background:linear-gradient(180deg,#fffbd0,#ffd553 48%,#a65b0b 83%);-webkit-background-clip:text;color:transparent}.jj-bear-copy p{margin:13px 0 0;color:#90ad99;font-size:clamp(.5rem,.85vw,.68rem);font-weight:900;letter-spacing:.16em}
.jj-roar-wave{position:absolute;width:32vmin;aspect-ratio:1;border-radius:50%;border:3px solid rgba(255,225,111,.8);opacity:0}.jj-bear-gate.roar .jj-roar-wave{animation:jjRoarWave 1.35s .2s ease-out forwards}
@keyframes jjRoarWave{0%{transform:scale(.3);opacity:.8}100%{transform:scale(5);opacity:0;border-width:1px}}
.jj-bear-gate.roar:after{content:"";position:absolute;inset:0;background:rgba(255,231,142,.32);mix-blend-mode:screen;animation:jjRoarFlash .58s ease-out both}
@keyframes jjRoarFlash{from{opacity:1}to{opacity:0}}

/* Bear Plinko bonus */
.jj-plinko-bonus{position:fixed;z-index:120;inset:0;display:grid;grid-template-rows:84px minmax(0,1fr) 62px;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;background:#020704;color:#f7f2da;isolation:isolate}
.jj-plinko-bonus.show{opacity:1;visibility:visible;pointer-events:auto;animation:jjPlinkoReveal .58s cubic-bezier(.18,.78,.24,1) both}
@keyframes jjPlinkoReveal{from{opacity:0;transform:scale(1.08);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.jj-plinko-bg{position:absolute;inset:-5%;z-index:-3;background-image:linear-gradient(180deg,rgba(0,7,3,.54),rgba(0,4,2,.93)),var(--jj-bg);background-size:cover;background-position:center;filter:saturate(.94) brightness(.55);transform:scale(1.08)}
.jj-plinko-bonus:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 57% 45%,rgba(44,255,112,.16),transparent 36%),radial-gradient(circle at 12% 52%,rgba(255,194,58,.17),transparent 27%),linear-gradient(90deg,rgba(0,3,1,.9),transparent 30%,transparent 75%,rgba(0,3,1,.75))}
.jj-plinko-bonus:after{content:"";position:absolute;inset:-20%;z-index:-1;background:repeating-conic-gradient(from 0deg at 54% 42%,rgba(255,220,101,.035) 0 5deg,transparent 5deg 20deg);animation:jjBearRays 24s linear infinite}
.jj-plinko-head{position:relative;z-index:3;display:grid;grid-template-columns:1fr 170px 220px;align-items:center;gap:16px;padding:10px 24px;background:linear-gradient(180deg,rgba(15,29,17,.96),rgba(3,10,6,.91));border-bottom:1px solid rgba(255,218,102,.3);box-shadow:0 15px 40px rgba(0,0,0,.55);backdrop-filter:blur(18px)}
.jj-plinko-brand{display:flex;align-items:center;gap:12px}.jj-plinko-brand img{width:56px;height:56px;border-radius:15px;object-fit:cover;object-position:top;box-shadow:0 0 0 1px rgba(255,226,118,.45),0 0 24px rgba(255,196,53,.2)}.jj-plinko-brand div{display:grid}.jj-plinko-brand span{color:#819489;font-size:.52rem;font-weight:950;letter-spacing:.22em}.jj-plinko-brand h2{margin:1px 0 0;font-family:Georgia,serif;font-size:1.7rem;line-height:1;background:linear-gradient(180deg,#fff6bd,#ffc948 62%,#a55a0b);-webkit-background-clip:text;color:transparent}
.jj-plinko-stat{height:58px;padding:8px 14px;border-radius:12px;border:1px solid rgba(255,219,103,.23);background:rgba(4,15,8,.76);display:grid;align-content:center;justify-items:center;gap:3px;box-shadow:inset 0 1px rgba(255,255,255,.04)}.jj-plinko-stat span{color:#82948a;font-size:.49rem;font-weight:950;letter-spacing:.15em}.jj-plinko-stat b{color:#fff;font-size:1.38rem;font-variant-numeric:tabular-nums}.jj-plinko-stat.win b{color:#ffe276}.jj-plinko-stat.win i{font-style:normal}
.jj-plinko-shell{min-height:0;width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:minmax(190px,25%) minmax(0,1fr);gap:18px;padding:14px 22px 10px}
.jj-plinko-guardian{position:relative;min-height:0;display:grid;align-content:end;justify-items:center;overflow:hidden;border-radius:26px;border:1px solid rgba(255,216,95,.21);background:radial-gradient(circle at 50% 42%,rgba(255,199,46,.13),transparent 52%),linear-gradient(180deg,rgba(8,24,13,.28),rgba(2,8,4,.84));box-shadow:inset 0 0 45px #000,0 20px 55px rgba(0,0,0,.36)}
.jj-plinko-guardian:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,246,187,.08) 48%,transparent 57%);animation:jjGuardianSweep 5s ease-in-out infinite}
@keyframes jjGuardianSweep{0%,50%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
.jj-guardian-halo{position:absolute;top:10%;width:82%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(rgba(255,220,99,.22) 0 2deg,transparent 2deg 15deg);mask:radial-gradient(circle,transparent 0 48%,#000 49% 52%,transparent 53%);animation:jjRuneSpin 18s linear infinite}
.jj-plinko-guardian img{position:relative;z-index:2;width:112%;max-height:82%;object-fit:cover;object-position:top;border-radius:46% 46% 0 0;filter:saturate(1.14) contrast(1.08) drop-shadow(0 22px 28px #000) drop-shadow(0 0 26px rgba(255,194,42,.23));transform:translateY(18%);animation:jjGuardianBreathe 2.8s ease-in-out infinite alternate}
@keyframes jjGuardianBreathe{to{transform:translateY(15%) scale(1.018);filter:saturate(1.2) contrast(1.1) brightness(1.08) drop-shadow(0 22px 28px #000) drop-shadow(0 0 42px rgba(255,201,54,.32))}}
.jj-plinko-guardian span{position:absolute;z-index:4;left:0;right:0;bottom:20px;text-align:center;color:#ffe99c;font-family:Georgia,serif;font-size:clamp(.9rem,1.8vw,1.45rem);font-weight:950;letter-spacing:.08em;text-shadow:0 3px 8px #000}
.jj-plinko-board-wrap{position:relative;min-width:0;min-height:0;border-radius:26px;border:2px solid #9d6c1d;background:linear-gradient(180deg,rgba(7,22,12,.9),rgba(1,8,4,.96));box-shadow:0 0 0 1px rgba(255,236,160,.2),inset 0 0 50px #000,0 25px 70px rgba(0,0,0,.55),0 0 55px rgba(42,255,103,.08);overflow:hidden}
.jj-plinko-board-wrap:before{content:"";position:absolute;inset:8px;border-radius:19px;border:1px solid rgba(255,221,112,.13);pointer-events:none}.jj-plinko-board-wrap:after{content:"";position:absolute;left:14%;right:14%;top:-18%;height:45%;background:radial-gradient(ellipse,rgba(255,235,151,.11),transparent 66%);filter:blur(20px);pointer-events:none}
.jj-plinko-canvas{display:block;width:100%;height:100%;min-height:430px;position:relative;z-index:2}
.jj-plinko-callout{position:absolute;z-index:8;left:50%;top:46%;transform:translate(-50%,-50%) scale(.5);opacity:0;padding:12px 23px;border:1px solid rgba(255,228,124,.6);border-radius:999px;background:rgba(4,14,7,.92);color:#fff5b3;font-family:Georgia,serif;font-size:clamp(1.05rem,2.2vw,2rem);font-weight:950;letter-spacing:.05em;text-shadow:0 2px 8px #000;box-shadow:0 0 45px rgba(255,211,70,.22);pointer-events:none;white-space:nowrap}.jj-plinko-callout.show{animation:jjCallout 1.1s cubic-bezier(.18,.82,.2,1) both}.jj-plinko-callout.extra{color:#1b1000;background:linear-gradient(180deg,#fff2a2,#d98e16);box-shadow:0 0 65px rgba(255,210,62,.54)}.jj-plinko-callout.neutral{color:#c5d3c9}
@keyframes jjCallout{0%{opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(-4deg)}25%,72%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(0)}100%{opacity:0;transform:translate(-50%,-58%) scale(.92)}}
.jj-plinko-footer{position:relative;z-index:3;display:grid;grid-template-columns:auto auto 1fr;align-items:center;justify-content:center;gap:10px;padding:0 25px;background:linear-gradient(180deg,rgba(3,10,6,.93),rgba(1,5,3,.98));border-top:1px solid rgba(255,218,101,.22);box-shadow:0 -15px 35px rgba(0,0,0,.38)}.jj-paw-dot{color:#ffd95a;text-shadow:0 0 15px #ffd95a;animation:jjStatusPulse 1s ease-in-out infinite alternate}.jj-plinko-footer b{font-size:.72rem}.jj-plinko-footer small{justify-self:end;color:#718177;font-size:.54rem;font-weight:850}
.jj-bonus-open{overflow:hidden}

/* Bonus-aware dialog polish */
.jj-scatter-rule b{color:#ffe17a}.jj-scatter-rule{box-shadow:inset 0 0 25px rgba(255,200,55,.025)}

@media(max-width:980px){
  .jj-plinko-bonus{grid-template-rows:72px minmax(0,1fr) 56px}.jj-plinko-head{grid-template-columns:1fr 120px 170px;padding:7px 12px}.jj-plinko-brand img{width:48px;height:48px}.jj-plinko-brand h2{font-size:1.35rem}.jj-plinko-stat{height:50px}.jj-plinko-shell{grid-template-columns:170px minmax(0,1fr);padding:10px 12px 8px;gap:10px}.jj-plinko-canvas{min-height:390px}.jj-plinko-footer{padding:0 12px}.jj-plinko-footer small{display:none}
}
@media(max-width:700px){
  .jj-game:before{animation:none}.jj-atmosphere i:nth-child(n+11){display:none}.jj-cabinet:after,.jj-temple-shine{display:none}
  .jj-feature-meter b{font-size:.46rem}.jj-title-lockup small{letter-spacing:.11em}
  .jj-bear-portrait{width:min(67vh,88vw);top:43%}.jj-bear-copy{bottom:8%}.jj-bear-copy p{padding:0 16px;line-height:1.45}
  .jj-plinko-bonus{grid-template-rows:66px minmax(0,1fr) 52px}.jj-plinko-head{grid-template-columns:1fr 84px 115px;gap:6px;padding:6px 7px}.jj-plinko-brand{gap:7px}.jj-plinko-brand img{width:42px;height:42px;border-radius:10px}.jj-plinko-brand span{display:none}.jj-plinko-brand h2{font-size:1rem}.jj-plinko-stat{height:44px;padding:5px 6px;border-radius:9px}.jj-plinko-stat span{font-size:.38rem;letter-spacing:.08em}.jj-plinko-stat b{font-size:.88rem}.jj-plinko-shell{display:block;padding:7px}.jj-plinko-guardian{display:none}.jj-plinko-board-wrap{height:100%;border-radius:18px}.jj-plinko-canvas{min-height:0;height:100%}.jj-plinko-footer{grid-template-columns:auto 1fr;padding:0 9px}.jj-plinko-footer b{font-size:.58rem}.jj-plinko-callout{font-size:1rem;padding:9px 15px}
  .jj-big-win em{letter-spacing:.12em}.jj-win-claws{gap:18px}.jj-win-claws i{width:9px}
}
@media(max-width:420px){
  .jj-plinko-head{grid-template-columns:1fr 72px 98px}.jj-plinko-brand img{display:none}.jj-plinko-stat b{font-size:.76rem}.jj-plinko-footer b{font-size:.52rem}.jj-bear-copy h2{font-size:2.35rem}.jj-bear-copy>span{font-size:.42rem;letter-spacing:.17em}
}
@media(prefers-reduced-motion:reduce){
  .jj-game:before,.jj-atmosphere:before,.jj-atmosphere:after,.jj-atmosphere i,.jj-cabinet:after,.jj-temple-shine,.jj-bear-rays,.jj-bear-rune,.jj-guardian-halo,.jj-plinko-bonus:after,.jj-win-sun,.jj-big-win:before,.jj-big-win:after{animation:none!important}
}
.jj-reduce-motion .jj-game:before,.jj-reduce-motion .jj-atmosphere:before,.jj-reduce-motion .jj-atmosphere:after,.jj-reduce-motion .jj-atmosphere i,.jj-reduce-motion .jj-cabinet:after,.jj-reduce-motion .jj-temple-shine,.jj-reduce-motion .jj-bear-rays,.jj-reduce-motion .jj-bear-rune,.jj-reduce-motion .jj-guardian-halo,.jj-reduce-motion .jj-plinko-bonus:after,.jj-reduce-motion .jj-win-sun,.jj-reduce-motion .jj-big-win:before,.jj-reduce-motion .jj-big-win:after{animation:none!important}

/* V28.1 — Bear Plinko presentation polish */
.jj-plinko-footer{grid-template-columns:auto minmax(0,1fr) auto auto}
.jj-plinko-footer>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jj-plinko-roar{display:grid;grid-template-columns:auto auto;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(255,217,91,.2);border-radius:999px;background:rgba(7,23,12,.72);box-shadow:inset 0 1px rgba(255,255,255,.04);transition:transform .2s,border-color .2s,box-shadow .2s}
.jj-plinko-roar small{display:block!important;color:#7f9186!important;font-size:.42rem!important;font-weight:950;letter-spacing:.14em}
.jj-plinko-roar b{color:#ffe47a;font-size:.82rem;font-variant-numeric:tabular-nums}
.jj-plinko-roar.hot{transform:scale(1.08);border-color:rgba(255,224,105,.7);box-shadow:0 0 22px rgba(255,205,56,.28),inset 0 0 14px rgba(255,211,65,.08);animation:jjRoarMeter .55s ease-in-out infinite alternate}
@keyframes jjRoarMeter{to{filter:brightness(1.24);transform:scale(1.12)}}
.jj-plinko-board-wrap.hit-high{animation:jjBoardHigh .58s cubic-bezier(.18,.8,.22,1)}
.jj-plinko-board-wrap.hit-extra{animation:jjBoardExtra .62s cubic-bezier(.15,.82,.18,1)}
@keyframes jjBoardHigh{0%{transform:scale(1)}30%{transform:scale(1.012);box-shadow:0 0 0 1px rgba(255,236,160,.35),inset 0 0 64px rgba(255,214,72,.14),0 25px 70px rgba(0,0,0,.55),0 0 75px rgba(255,211,72,.28)}100%{transform:scale(1)}}
@keyframes jjBoardExtra{0%{transform:scale(1) rotate(0)}20%{transform:scale(1.016) rotate(-.18deg)}40%{transform:scale(1.016) rotate(.18deg);box-shadow:0 0 0 2px rgba(255,244,171,.72),inset 0 0 80px rgba(255,214,67,.22),0 25px 70px rgba(0,0,0,.55),0 0 95px rgba(255,211,72,.5)}100%{transform:scale(1) rotate(0)}}
@media(max-width:700px){.jj-plinko-footer{grid-template-columns:auto minmax(0,1fr) auto}.jj-plinko-roar{padding:5px 8px}.jj-plinko-roar small{display:none!important}.jj-plinko-roar b{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.jj-plinko-roar.hot,.jj-plinko-board-wrap.hit-high,.jj-plinko-board-wrap.hit-extra{animation:none!important;transform:none!important}}
.jj-reduce-motion .jj-plinko-roar.hot,.jj-reduce-motion .jj-plinko-board-wrap.hit-high,.jj-reduce-motion .jj-plinko-board-wrap.hit-extra{animation:none!important;transform:none!important}

/* Jungle Jackpot v2.2 — precise, non-overlapping payline presentation */
.jj-payline-layer polyline{vector-effect:non-scaling-stroke}
.jj-payline-node{fill:#06140b;stroke:var(--line);stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px var(--line));animation:jjPaylineNode .45s cubic-bezier(.2,.9,.2,1) both}
.jj-payline-node.last{fill:var(--line);stroke:#fff7bf;stroke-width:3}
.jj-payline-tag rect{fill:rgba(2,10,6,.9);stroke:var(--line,#e8ff86);stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 8px #000)}
.jj-payline-tag text{fill:#fff7c4;font:900 12px Inter,Arial,sans-serif;text-anchor:middle;letter-spacing:.03em;text-shadow:0 2px 5px #000}
@keyframes jjPaylineNode{from{opacity:0;transform:scale(.25);transform-origin:center}to{opacity:1;transform:scale(1);transform-origin:center}}
@media(max-width:640px){.jj-payline-tag{display:none}.jj-payline-node{stroke-width:3}}


/* =========================================================
   JUNGLE JACKPOT V28.4 — TEMPLE INTERFACE, AUTO & TURBO
   ========================================================= */
#jjAmbientTrack{display:none}
.jj-game{
  --temple-panel:rgba(5,16,9,.94);
  --temple-edge:rgba(255,216,93,.34);
  --temple-glow:rgba(69,255,112,.24);
}
.jj-temple-arch{
  position:absolute;z-index:-1;left:50%;top:58px;width:min(1440px,112vw);height:calc(100% - 172px);
  transform:translateX(-50%);pointer-events:none;opacity:.72;
  border-left:clamp(10px,2vw,28px) solid rgba(32,50,28,.24);
  border-right:clamp(10px,2vw,28px) solid rgba(32,50,28,.24);
  border-radius:46% 46% 5% 5%/24% 24% 4% 4%;
  box-shadow:inset 20px 0 38px rgba(0,0,0,.35),inset -20px 0 38px rgba(0,0,0,.35);
}
.jj-temple-arch:before,.jj-temple-arch:after{
  content:"";position:absolute;top:2%;width:18%;height:88%;
  background:
    radial-gradient(circle at 50% 6%,rgba(255,218,90,.14),transparent 18%),
    repeating-linear-gradient(180deg,rgba(244,207,98,.08) 0 2px,transparent 2px 38px),
    linear-gradient(90deg,rgba(0,0,0,.5),rgba(35,66,38,.22),rgba(0,0,0,.5));
  border:1px solid rgba(244,207,98,.09);filter:drop-shadow(0 16px 25px #000);
}
.jj-temple-arch:before{left:-2%;clip-path:polygon(0 0,100% 8%,82% 100%,14% 100%)}
.jj-temple-arch:after{right:-2%;clip-path:polygon(0 8%,100% 0,86% 100%,18% 100%)}
.jj-temple-arch>i{
  position:absolute;top:5%;width:10px;height:70%;opacity:.38;
  background:linear-gradient(180deg,transparent,#6dff8a 25%,#f6cf5c 58%,transparent);
  filter:blur(6px)
}
.jj-temple-arch>i:first-child{left:8%}.jj-temple-arch>i:nth-child(2){right:8%}
.jj-temple-arch>span{
  position:absolute;left:50%;top:3%;transform:translateX(-50%);
  color:rgba(255,220,103,.18);font-family:Georgia,serif;font-size:4rem;text-shadow:0 0 28px rgba(255,212,64,.22)
}

.jj-topbar{
  background:
    linear-gradient(90deg,transparent,rgba(255,216,96,.05),transparent),
    linear-gradient(180deg,rgba(5,15,9,.97),rgba(2,8,5,.92));
  border-bottom-color:rgba(255,215,92,.34);
}
.jj-back,.jj-top-actions button{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(21,42,26,.92),rgba(6,17,10,.92));
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 8px 20px rgba(0,0,0,.2)
}
.jj-top-actions button.muted{color:#78857d;filter:saturate(.3)}
.jj-brand b{font-family:Georgia,serif;background:linear-gradient(180deg,#fff3ad,#c98c27);-webkit-background-clip:text;color:transparent}
.jj-brand i{box-shadow:0 0 8px var(--lime),0 0 25px rgba(80,255,106,.55)}

.jj-title-lockup{padding:2px 54px 5px}
.jj-title-lockup:before,.jj-title-lockup:after{
  content:"";position:absolute;top:54%;width:min(18vw,210px);height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,217,98,.7));
  box-shadow:0 0 9px rgba(255,213,74,.34)
}
.jj-title-lockup:before{right:calc(100% - 58px)}
.jj-title-lockup:after{left:calc(100% - 58px);transform:scaleX(-1)}
.jj-title-emblem{
  position:absolute;left:50%;top:-2px;transform:translate(-50%,-50%) rotate(45deg);
  width:14px;height:14px;display:grid;place-items:center;color:transparent;
  border:1px solid rgba(255,224,119,.6);box-shadow:0 0 18px rgba(255,208,62,.25);
  background:radial-gradient(circle,#ffe88d 0 18%,#7b5414 22% 44%,#15281a 48%)
}
.jj-title-lockup h1{
  text-shadow:0 7px 15px rgba(0,0,0,.85);
  filter:drop-shadow(0 0 20px rgba(224,179,65,.23))
}

.jj-cabinet{
  border-color:#ba8730;
  background:
    linear-gradient(90deg,rgba(255,220,110,.04),transparent 8% 92%,rgba(255,220,110,.04)),
    linear-gradient(180deg,#211a09,#07110a 16%,#030806 84%,#1c1407);
  box-shadow:
    0 0 0 1px rgba(255,242,170,.32),
    0 0 0 7px rgba(24,36,18,.82),
    0 34px 90px rgba(0,0,0,.76),
    0 0 85px rgba(25,223,97,.11)
}
.jj-cabinet-head{
  position:relative;
  background:
    repeating-linear-gradient(90deg,transparent 0 48px,rgba(255,223,123,.025) 49px 50px),
    linear-gradient(180deg,#211b0d,#080b07);
}
.jj-cabinet-head:after{
  content:"";position:absolute;left:18%;right:18%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,#f7d76c,transparent);opacity:.48
}
.jj-feature-meter b:before,.jj-feature-meter b:after{content:"◆";font-size:.44rem;color:#6aff79;margin:0 8px;text-shadow:0 0 9px #4dff77}

.jj-reel-window{
  background:
    radial-gradient(ellipse at 50% 43%,rgba(26,205,86,.22),transparent 44%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 1px,transparent 1px 10px),
    linear-gradient(180deg,#07170d,#010503);
}
.jj-reel-window:before,.jj-reel-window:after{
  content:"";position:absolute;z-index:2;top:6%;bottom:6%;width:20px;pointer-events:none;opacity:.42;
  background:
    radial-gradient(circle at 50% 10%,#f3d66e 0 2px,transparent 3px),
    repeating-linear-gradient(180deg,rgba(255,217,96,.26) 0 2px,transparent 2px 32px);
  filter:drop-shadow(0 0 7px rgba(255,216,91,.18))
}
.jj-reel-window:before{left:39px}.jj-reel-window:after{right:39px}
.jj-reels{
  position:relative;
  border-color:rgba(255,219,102,.46);
  background:
    linear-gradient(180deg,rgba(4,15,8,.96),rgba(0,5,2,.95));
  box-shadow:inset 0 0 34px #000,0 0 28px rgba(49,255,104,.07)
}
.jj-reels:before{
  content:"";position:absolute;z-index:4;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,241,170,.08),inset 0 15px 24px rgba(255,220,112,.025),inset 0 -18px 28px rgba(0,0,0,.5)
}
.jj-reel{
  border-color:rgba(255,220,105,.28);
  background:linear-gradient(180deg,#10291a,#06130b);
}
.jj-reel.anticipation-spin{
  border-color:rgba(255,216,83,.72);
  box-shadow:inset 0 0 30px rgba(0,0,0,.78),0 0 26px rgba(255,207,52,.2)
}
.jj-reel.anticipation-spin .jj-reel-strip{
  animation-duration:.62s;
  filter:blur(1px) saturate(.96) brightness(1.08);
  opacity:.93
}
.jj-lines i{
  background:radial-gradient(circle at 36% 30%,#2c5b38,#102017 70%);
  box-shadow:inset 0 1px rgba(255,255,255,.09),0 4px 12px #000,0 0 10px rgba(255,214,82,.08)
}
.jj-lines.right i{background:radial-gradient(circle at 36% 30%,#24594e,#0d2420 70%)}

.jj-anticipation{
  background:
    radial-gradient(circle at center,rgba(255,218,72,.1),rgba(22,197,75,.11) 36%,rgba(0,4,2,.84) 86%);
  backdrop-filter:brightness(.46) saturate(.72);
}
.jj-anticipation-copy{
  z-index:2;transform:translateY(78px);min-width:min(430px,78vw);padding:12px 22px;
  border:1px solid rgba(255,225,117,.63);border-radius:14px;
  background:linear-gradient(180deg,rgba(36,25,5,.96),rgba(3,14,7,.96));
  display:grid;justify-items:center;gap:4px;
  box-shadow:0 0 48px rgba(255,210,65,.25),inset 0 1px rgba(255,255,255,.1)
}
.jj-anticipation .jj-anticipation-copy span{
  padding:0;border:0;background:none;box-shadow:none;border-radius:0;
  color:#ffe789;font-size:.78rem;letter-spacing:.17em
}
.jj-anticipation-copy small{
  color:#8dff9a;font-size:.55rem;font-weight:950;letter-spacing:.18em;text-shadow:0 0 12px rgba(82,255,110,.4)
}
.jj-cabinet.anticipating .jj-reels{box-shadow:inset 0 0 44px #000,0 0 44px rgba(255,206,47,.14)}
.jj-cabinet.anticipating .jj-status-dot{background:#ffd85d;box-shadow:0 0 16px #ffd85d}

.jj-status{
  background:
    linear-gradient(90deg,transparent,rgba(61,255,113,.035),transparent),
    linear-gradient(180deg,#0b0d08,#020503);
}
.jj-status b{letter-spacing:.025em}

.jj-control-deck{
  position:relative;
  grid-template-columns:145px minmax(250px,300px) 180px 132px 220px;
  gap:10px;
  background:
    radial-gradient(circle at 50% -30%,rgba(71,255,105,.08),transparent 42%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.009) 0 1px,transparent 1px 28px),
    linear-gradient(180deg,rgba(7,18,10,.98),#010302);
  border-top-color:rgba(255,218,95,.31);
  box-shadow:0 -18px 45px rgba(0,0,0,.5),inset 0 1px rgba(255,235,155,.04)
}
.jj-control-deck:before{
  content:"";position:absolute;left:7%;right:7%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,#d9a83c 20%,#8cff79 50%,#d9a83c 80%,transparent);
  opacity:.5
}
.jj-session,.jj-meters,.jj-bet-control{
  border-radius:14px;
  background:linear-gradient(180deg,rgba(10,25,14,.78),rgba(3,9,5,.88));
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 9px 22px rgba(0,0,0,.2)
}
.jj-session{border:1px solid rgba(255,215,91,.12);padding:11px 12px}
.jj-meters{border-color:rgba(255,217,94,.24)}
.jj-meter{position:relative}
.jj-meter:after{
  content:"◆";position:absolute;right:7px;top:5px;color:rgba(255,217,92,.18);font-size:.48rem
}
.jj-win-meter{background:radial-gradient(circle at 65% 50%,rgba(255,209,62,.055),transparent 60%)}
.jj-bet-control{padding:8px 10px;border:1px solid rgba(255,217,94,.13)}
.jj-bet-control button:disabled{opacity:.4;cursor:not-allowed}
.jj-bet-control button:hover:not(:disabled){border-color:#f6da78;box-shadow:0 0 15px rgba(255,213,84,.12)}
.jj-spin{
  position:relative;
  height:88px;
  border:3px solid #efffcf;
  outline:3px solid rgba(55,173,63,.72);
  background:
    radial-gradient(circle at 38% 20%,rgba(255,255,255,.88),transparent 13%),
    radial-gradient(circle at 50% 34%,#baff7e,#31db4b 55%,#087329 100%);
  box-shadow:inset 0 3px 10px rgba(255,255,255,.64),inset 0 -9px 15px rgba(0,52,18,.35),0 0 34px rgba(78,255,98,.5),0 12px 24px #000;
}
.jj-spin:after{
  content:"";position:absolute;inset:9px;border-radius:50%;border:1px dashed rgba(0,62,24,.38);pointer-events:none
}
.jj-spin-paw{
  position:absolute;left:50%;top:9px;transform:translateX(-50%);font-size:.45rem;color:rgba(0,78,26,.36);
  text-shadow:-5px -2px 0 rgba(0,78,26,.25),5px -2px 0 rgba(0,78,26,.25),0 -6px 0 rgba(0,78,26,.2)
}
.jj-spin.auto-running{
  background:radial-gradient(circle at 50% 25%,#ffe99b,#e0a52c 57%,#87500b);
  color:#241300;outline-color:rgba(255,209,65,.65);box-shadow:inset 0 2px 10px #fff8,0 0 35px rgba(255,205,58,.48),0 12px 24px #000
}
.jj-spin.auto-running:before{animation-duration:1.2s}
.jj-spin.auto-running .jj-spin-paw{color:rgba(92,50,0,.35)}
.jj-spin:disabled{opacity:.72}

.jj-secondary-actions{
  position:relative;height:80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:6px
}
.jj-secondary-actions .jj-action-button{
  width:100%;min-width:0;padding:4px 6px;border:1px solid rgba(255,218,95,.18);border-radius:10px;
  background:linear-gradient(180deg,rgba(17,38,23,.95),rgba(5,15,9,.96));
  color:#dfe8e1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;place-content:initial;gap:5px;cursor:pointer;
  box-shadow:inset 0 1px rgba(255,255,255,.035);transition:border-color .16s,transform .16s,box-shadow .16s,filter .16s
}
.jj-secondary-actions .jj-action-button:hover{transform:translateY(-1px);border-color:rgba(255,224,115,.55);color:#ffe68c}
.jj-secondary-actions .jj-action-button b{font-size:.76rem}
.jj-secondary-actions .jj-action-button span{font-size:.48rem;font-weight:950;letter-spacing:.06em}
.jj-secondary-actions .jj-action-button small{font-size:.38rem;color:#728179;white-space:nowrap}
.jj-auto-wrap{position:relative;min-width:0}
.jj-auto-button{height:100%}
.jj-auto-button.active,.jj-turbo-button.active{
  border-color:rgba(255,222,105,.7)!important;color:#ffe688!important;
  background:linear-gradient(180deg,rgba(65,47,8,.95),rgba(20,28,11,.96))!important;
  box-shadow:0 0 18px rgba(255,205,61,.16),inset 0 0 14px rgba(255,221,102,.05)!important
}
.jj-turbo-button.active b{color:#8cff83;text-shadow:0 0 10px #67ff77}
.jj-auto-menu{
  position:absolute;z-index:50;right:0;bottom:calc(100% + 10px);width:230px;padding:12px;
  border:1px solid rgba(255,221,107,.43);border-radius:14px;
  background:linear-gradient(180deg,rgba(18,37,22,.985),rgba(3,10,6,.99));
  box-shadow:0 22px 55px rgba(0,0,0,.7),inset 0 1px rgba(255,255,255,.06);
  opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);transform-origin:bottom right;transition:.18s;
}
.jj-auto-menu.show{opacity:1;visibility:visible;transform:none}
.jj-auto-menu:after{
  content:"";position:absolute;right:28px;bottom:-7px;width:12px;height:12px;transform:rotate(45deg);
  border-right:1px solid rgba(255,221,107,.43);border-bottom:1px solid rgba(255,221,107,.43);background:#06110a
}
.jj-auto-menu strong{display:block;color:#ffe58a;font-family:Georgia,serif;font-size:.75rem;letter-spacing:.11em}
.jj-auto-menu>span{display:block;margin:3px 0 10px;color:#7f9186;font-size:.52rem}
.jj-auto-menu>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.jj-auto-menu>div button{
  height:38px;border-radius:9px;border:1px solid rgba(255,218,92,.2);
  background:#10261a;color:#eaf2ec;font-weight:950;cursor:pointer
}
.jj-auto-menu>div button:hover{border-color:#ffe177;background:#1c3824;color:#ffe58a}

@media(max-width:1120px){
  .jj-control-deck{grid-template-columns:230px 165px 112px 205px}
  .jj-session{display:none}
}
@media(max-width:980px){
  .jj-control-deck{grid-template-columns:225px 160px 108px 205px}
  .jj-secondary-actions{height:70px}
  .jj-secondary-actions .jj-action-button small{display:none}
  .jj-temple-arch{opacity:.42}
}
@media(max-width:700px){
  .jj-temple-arch{display:none}
  .jj-title-lockup{padding-left:20px;padding-right:20px}
  .jj-title-lockup:before,.jj-title-lockup:after,.jj-title-emblem{display:none}
  .jj-reel-window:before{left:17px}.jj-reel-window:after{right:17px}
}
@media(max-width:640px){
  .jj-page{overflow:hidden}
  .jj-game{min-height:730px;height:100dvh;grid-template-rows:54px minmax(0,1fr) 184px}
  .jj-control-deck{
    height:184px;grid-template-columns:minmax(0,1fr) 104px;grid-template-rows:62px 46px 54px;
    gap:6px;padding:7px 8px 10px
  }
  .jj-meters{grid-column:1;grid-row:1;height:62px}
  .jj-bet-control{grid-column:1;grid-row:2;height:46px;display:grid;grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:8px;padding:5px 8px}
  .jj-bet-control>div{grid-template-columns:32px 58px 32px}
  .jj-bet-control button{height:32px}
  .jj-spin{grid-column:2;grid-row:1/3;height:88px;align-self:center;justify-self:center}
  .jj-secondary-actions{
    grid-column:1/3;grid-row:3;height:54px;display:grid!important;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr;gap:5px
  }
  .jj-auto-wrap{height:100%}
  .jj-secondary-actions .jj-action-button{
    height:100%;grid-template-columns:1fr;justify-items:center;gap:1px;padding:3px
  }
  .jj-secondary-actions .jj-action-button b{font-size:.68rem}
  .jj-secondary-actions .jj-action-button span{font-size:.43rem}
  .jj-secondary-actions .jj-action-button small{display:none}
  .jj-auto-menu{position:fixed;left:12px;right:12px;bottom:178px;width:auto;transform-origin:bottom center}
  .jj-auto-menu:after{right:calc(75% - 7px)}
  .jj-legal{right:8px;bottom:1px}
  .jj-anticipation-copy{transform:translateY(58px);padding:10px 13px}
  .jj-anticipation .jj-anticipation-copy span{font-size:.61rem}
  .jj-anticipation-copy small{font-size:.46rem}
}
@media(max-width:390px){
  .jj-game{min-height:680px;grid-template-rows:52px minmax(0,1fr) 176px}
  .jj-control-deck{height:176px;grid-template-columns:minmax(0,1fr) 94px}
  .jj-spin{height:80px}
  .jj-secondary-actions .jj-action-button span{font-size:.39rem}
  .jj-auto-menu{bottom:170px}
}
@media(prefers-reduced-motion:reduce){
  .jj-auto-menu,.jj-secondary-actions .jj-action-button,.jj-reel.anticipation-spin .jj-reel-strip{transition:none!important}
}
.jj-reduce-motion .jj-auto-menu,.jj-reduce-motion .jj-secondary-actions .jj-action-button{transition:none!important}

/* =========================================================
   JUNGLE JACKPOT V29 — AAA EXPERIENCE LAYER
   Scoped to .jj-game.jj-aaa so the other NovaBet games keep
   their existing appearance and behaviour.
   ========================================================= */
:root{
  --jj-gold:#e9bd50;
  --jj-gold-bright:#ffe78a;
  --jj-green:#55f276;
  --jj-green-soft:#86ff9d;
  --jj-ink:#020705;
  --jj-panel:rgba(5,18,11,.9);
  --jj-line:rgba(230,190,75,.28);
  --jj-ease:cubic-bezier(.18,.82,.22,1);
  --jj-ease-spring:cubic-bezier(.16,1.18,.32,1);
}

body.jj-aaa-page{
  margin:0;
  min-width:320px;
  min-height:100dvh;
  overflow:hidden;
  background:#020705;
  color:#edf8ef;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.jj-aaa-page *{box-sizing:border-box}
body.jj-aaa-page button,body.jj-aaa-page input{font:inherit}
body.jj-aaa-page button{touch-action:manipulation}

.jj-game.jj-aaa{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:760px;
  height:100dvh;
  display:grid;
  grid-template-rows:58px minmax(0,1fr) 142px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 34%,rgba(47,126,67,.15),transparent 38%),
    linear-gradient(180deg,rgba(1,7,4,.62),rgba(1,6,3,.9));
  --reel-border:rgba(235,194,75,.55);
}
.jj-game.jj-aaa::before{
  content:"";
  position:absolute;
  z-index:-5;
  inset:-2%;
  background-image:linear-gradient(180deg,rgba(1,8,4,.12),rgba(0,4,2,.76)),var(--jj-bg);
  background-size:cover;
  background-position:center 46%;
  transform:scale(1.035);
  animation:jjAAABackgroundDrift 24s ease-in-out infinite alternate;
  will-change:transform;
}
.jj-game.jj-aaa::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.62),transparent 17%,transparent 83%,rgba(0,0,0,.62)),
    radial-gradient(ellipse at 50% 42%,transparent 35%,rgba(0,0,0,.68) 100%);
}
@keyframes jjAAABackgroundDrift{from{transform:scale(1.035) translate3d(-.25%,0,0)}to{transform:scale(1.055) translate3d(.35%,-.4%,0)}}

.jj-world-vignette{
  position:absolute;
  z-index:8;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 130px rgba(0,0,0,.76),inset 0 -80px 120px rgba(0,0,0,.55);
  transition:background .8s var(--jj-ease),box-shadow .8s var(--jj-ease);
}
.jj-aaa.is-anticipating .jj-world-vignette{
  background:rgba(0,5,2,.34);
  box-shadow:inset 0 0 170px rgba(0,0,0,.88),inset 0 0 90px rgba(35,112,54,.15);
}

/* Lightweight, transform-only living forest background. */
.jj-forest-motion{position:absolute;z-index:-3;inset:0;overflow:hidden;pointer-events:none;contain:layout paint style}
.jj-fog-layer{position:absolute;width:85%;height:32%;border-radius:50%;opacity:.13;filter:blur(34px);will-change:transform;transform:translate3d(0,0,0)}
.jj-fog-layer.one{left:-18%;bottom:18%;background:radial-gradient(ellipse,rgba(178,220,180,.48),transparent 70%);animation:jjAAAFogOne 20s ease-in-out infinite alternate}
.jj-fog-layer.two{right:-26%;top:17%;background:radial-gradient(ellipse,rgba(119,183,130,.34),transparent 68%);animation:jjAAAFogTwo 25s ease-in-out infinite alternate}
.jj-light-shaft{position:absolute;left:32%;top:-20%;width:38%;height:86%;opacity:.11;transform:rotate(-9deg);background:linear-gradient(90deg,transparent,rgba(255,239,154,.36),transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);animation:jjAAAShaft 9s ease-in-out infinite alternate;will-change:opacity,transform}
.jj-forest-leaf{position:absolute;left:var(--x);top:-8%;width:18px;height:18px;color:rgba(122,191,100,.28);opacity:.3;animation:jjAAALeafDrift 17s linear infinite;animation-delay:var(--delay);will-change:transform,opacity}
.jj-forest-leaf:nth-of-type(2n){width:13px;height:13px;color:rgba(220,184,78,.2);animation-duration:21s}
.jj-forest-leaf:nth-of-type(3n){animation-duration:25s;opacity:.2}
.jj-forest-leaf .jj-icon{width:100%;height:100%;stroke:currentColor;fill:currentColor;stroke-width:1.4}
@keyframes jjAAAFogOne{to{transform:translate3d(18%,2%,0) scale(1.08)}}
@keyframes jjAAAFogTwo{to{transform:translate3d(-16%,5%,0) scale(.94)}}
@keyframes jjAAAShaft{from{opacity:.055;transform:rotate(-9deg) translate3d(-3%,0,0)}to{opacity:.15;transform:rotate(-7deg) translate3d(5%,0,0)}}
@keyframes jjAAALeafDrift{0%{transform:translate3d(0,-8vh,0) rotate(0deg);opacity:0}10%{opacity:.28}55%{transform:translate3d(36px,52vh,0) rotate(150deg)}100%{transform:translate3d(-25px,112vh,0) rotate(330deg);opacity:0}}

.jj-glass{
  background:linear-gradient(180deg,rgba(9,26,16,.92),rgba(3,13,8,.9));
  border:1px solid rgba(237,200,91,.18);
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 14px 45px rgba(0,0,0,.3);
}
@supports(backdrop-filter:blur(10px)){.jj-glass{backdrop-filter:blur(12px) saturate(1.1)}}

.jj-icon{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Top bar */
.jj-aaa .jj-topbar{
  position:relative;
  z-index:30;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  height:58px;
  padding:0 18px;
  border-width:0 0 1px;
}
.jj-aaa .jj-back,.jj-aaa .jj-top-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  height:36px;
  border:1px solid rgba(230,190,76,.23);
  border-radius:10px;
  color:#dbe9df;
  background:linear-gradient(180deg,rgba(22,48,29,.68),rgba(5,18,10,.76));
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 7px 18px rgba(0,0,0,.18);
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s var(--jj-ease),border-color .2s,background .2s,color .2s,box-shadow .2s;
}
.jj-aaa .jj-back{justify-self:start;padding:0 12px;font-size:.76rem;font-weight:800}
.jj-aaa .jj-back:hover,.jj-aaa .jj-top-actions button:hover{transform:translateY(-1px);border-color:rgba(255,224,120,.62);color:#fff1a0;box-shadow:inset 0 1px rgba(255,255,255,.07),0 8px 23px rgba(0,0,0,.27),0 0 16px rgba(233,187,69,.08)}
.jj-aaa .jj-back:active,.jj-aaa .jj-top-actions button:active{transform:translateY(0) scale(.96)}
.jj-aaa .jj-brand{display:flex;align-items:center;gap:7px;justify-self:center;letter-spacing:.12em}
.jj-aaa .jj-brand i{width:9px;height:9px;border-radius:50%;background:#71ff76;box-shadow:0 0 8px #62ff70,0 0 22px rgba(86,255,111,.55)}
.jj-aaa .jj-brand b{font-family:Georgia,"Times New Roman",serif;font-size:1rem;letter-spacing:.08em;background:linear-gradient(180deg,#fff2ae,#d29a2f);-webkit-background-clip:text;background-clip:text;color:transparent}
.jj-aaa .jj-brand span{font-size:.46rem;color:#7d8d82;font-weight:950}
.jj-aaa .jj-top-actions{justify-self:end;display:flex;align-items:center;gap:6px}
.jj-aaa .jj-top-actions button{width:39px;padding:0}
.jj-aaa .jj-top-actions button.active{color:#8fff93;border-color:rgba(99,255,119,.5);box-shadow:inset 0 0 13px rgba(91,255,110,.08),0 0 15px rgba(74,255,103,.08)}
.jj-aaa .jj-top-actions button.muted{color:#788179;filter:saturate(.45)}
.jj-aaa .jj-demo-pill{padding:6px 10px;border:1px solid rgba(102,255,113,.24);border-radius:8px;background:rgba(26,86,31,.34);color:#8eff7d;font-size:.55rem;font-weight:950;letter-spacing:.06em}

/* Volume mixer */
.jj-volume-panel{
  position:absolute;
  z-index:80;
  top:50px;
  right:18px;
  width:min(330px,calc(100vw - 24px));
  padding:16px;
  border:1px solid rgba(243,201,85,.3);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(10,31,18,.985),rgba(2,12,7,.985));
  box-shadow:0 30px 70px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.05);
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,-8px,0) scale(.98);
  transform-origin:top right;
  transition:opacity .24s var(--jj-ease),transform .24s var(--jj-ease),visibility .24s;
}
.jj-volume-panel.show{opacity:1;visibility:visible;transform:none}
.jj-volume-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.jj-volume-head span{display:block;color:#72817a;font-size:.48rem;font-weight:950;letter-spacing:.14em}
.jj-volume-head b{display:block;color:#ffe593;font-family:Georgia,serif;font-size:1.05rem}
.jj-volume-head button{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important}
.jj-volume-head .jj-icon{width:15px;height:15px}
.jj-volume-row{display:block;margin:11px 0}
.jj-volume-row>span{display:flex;justify-content:space-between;margin-bottom:7px;color:#c8d7cd;font-size:.68rem;font-weight:800}
.jj-volume-row output{color:#ffe17b;font-variant-numeric:tabular-nums}
.jj-volume-row input{width:100%;height:5px;appearance:none;border-radius:99px;background:linear-gradient(90deg,#4fdc6d,#e2b849);outline:none}
.jj-volume-row input::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border:2px solid #fff0a7;border-radius:50%;background:#153720;box-shadow:0 0 12px rgba(106,255,121,.45);cursor:pointer}
.jj-volume-row input::-moz-range-thumb{width:14px;height:14px;border:2px solid #fff0a7;border-radius:50%;background:#153720;box-shadow:0 0 12px rgba(106,255,121,.45);cursor:pointer}
.jj-volume-mute{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;border:1px solid rgba(235,199,91,.24);border-radius:10px;color:#e3efe6;background:#0b2013;cursor:pointer;font-size:.58rem;font-weight:950;letter-spacing:.08em}
.jj-volume-mute:hover{border-color:rgba(255,226,127,.55);color:#ffe68d}
.jj-volume-panel>small{display:block;margin-top:10px;color:#708078;font-size:.5rem;line-height:1.45}

/* Stage and title */
.jj-aaa .jj-stage{
  position:relative;
  z-index:10;
  min-height:0;
  display:grid;
  grid-template-rows:86px minmax(0,1fr);
  padding:0 3.2vw 8px;
}
.jj-aaa .jj-title-lockup{position:relative;display:grid;place-content:center;text-align:center;pointer-events:none;text-shadow:0 4px 18px #000}
.jj-aaa .jj-kicker{display:flex;align-items:center;justify-content:center;gap:10px;color:#e8c45d;font-size:.5rem;font-weight:950;letter-spacing:.35em}
.jj-aaa .jj-kicker i{width:33px;height:1px;background:linear-gradient(90deg,transparent,#d9b44b)}
.jj-aaa .jj-kicker i:last-child{transform:scaleX(-1)}
.jj-aaa .jj-title-lockup h1{margin:1px 0 -2px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.55rem);line-height:.94;letter-spacing:-.055em;background:linear-gradient(180deg,#fff7bf 0%,#d89c2d 56%,#795010 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #1e1002) drop-shadow(0 0 16px rgba(227,179,55,.2))}
.jj-aaa .jj-title-lockup h1 b{background:linear-gradient(180deg,#c8ffb8,#52db6f 57%,#137932);-webkit-background-clip:text;background-clip:text;color:transparent}
.jj-aaa .jj-title-lockup small{color:#a6b4aa;font-size:.52rem;font-weight:950;letter-spacing:.18em}

/* Cabinet */
.jj-aaa .jj-cabinet{
  position:relative;
  min-height:0;
  width:min(1460px,100%);
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-rows:48px minmax(0,1fr) 35px;
  border:1px solid rgba(235,195,75,.63);
  border-radius:23px;
  background:linear-gradient(180deg,rgba(7,18,11,.97),rgba(1,7,4,.96));
  box-shadow:0 24px 55px rgba(0,0,0,.56),0 0 0 5px rgba(20,58,29,.58),0 0 0 7px rgba(204,163,51,.18),inset 0 0 60px rgba(38,91,46,.06);
  overflow:hidden;
  transform:translateZ(0);
  transition:box-shadow .65s var(--jj-ease),filter .65s var(--jj-ease),transform .45s var(--jj-ease);
}
.jj-aaa .jj-cabinet-rim{position:absolute;z-index:4;inset:5px;border:1px solid rgba(255,228,130,.1);border-radius:17px;pointer-events:none}
.jj-aaa .jj-cabinet::before,.jj-aaa .jj-cabinet::after{content:"";position:absolute;z-index:1;top:49px;bottom:35px;width:38px;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent)}
.jj-aaa .jj-cabinet::before{left:0}.jj-aaa .jj-cabinet::after{right:0;transform:scaleX(-1)}
.jj-aaa .jj-cabinet.anticipating{box-shadow:0 28px 70px rgba(0,0,0,.68),0 0 0 5px rgba(24,69,34,.68),0 0 50px rgba(229,182,48,.24),inset 0 0 90px rgba(64,160,74,.07)}
.jj-aaa .jj-cabinet.win-shake{animation:jjAAACabinetShake .6s var(--jj-ease) 2}
@keyframes jjAAACabinetShake{0%,100%{transform:translate3d(0,0,0)}20%{transform:translate3d(-3px,1px,0)}45%{transform:translate3d(3px,-1px,0)}70%{transform:translate3d(-1px,0,0)}}
.jj-aaa .jj-cabinet-head{position:relative;z-index:5;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;border-bottom:1px solid rgba(230,190,70,.22);background:linear-gradient(180deg,rgba(27,32,17,.72),rgba(5,12,7,.78));box-shadow:inset 0 -12px 24px rgba(0,0,0,.24)}
.jj-aaa .jj-cabinet-head>div{height:100%;display:grid;align-content:center;padding:0 16px;border-right:1px solid rgba(227,188,77,.13)}
.jj-aaa .jj-cabinet-head>div:last-child{border-right:0;text-align:right}
.jj-aaa .jj-cabinet-head span{color:#718078;font-size:.45rem;font-weight:950;letter-spacing:.15em}
.jj-aaa .jj-cabinet-head b{color:#dde9df;font-size:.66rem;line-height:1.25}
.jj-aaa .jj-feature-meter{text-align:center!important}
.jj-aaa .jj-feature-meter b{color:#ffe074;text-shadow:0 0 14px rgba(255,211,74,.28);letter-spacing:.04em}
.jj-aaa .jj-feature-meter b i{display:inline-block;width:5px;height:5px;margin:0 9px;border-radius:50%;background:#67ff78;box-shadow:0 0 10px #60ff73}

.jj-aaa .jj-reel-window{position:relative;z-index:3;min-height:0;padding:8px 48px 7px;background:radial-gradient(circle at 50% 50%,rgba(32,92,44,.11),transparent 62%),#020905;overflow:hidden}
.jj-aaa .jj-ambient-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(83,255,107,.07),transparent 60%);pointer-events:none;transition:opacity .6s,background .6s}
.jj-aaa .anticipating .jj-ambient-glow{background:radial-gradient(ellipse at 50% 50%,rgba(255,207,62,.12),transparent 58%);animation:jjAAAAmbientPulse 1.05s ease-in-out infinite alternate}
@keyframes jjAAAAmbientPulse{to{opacity:.45}}
.jj-aaa .jj-reel-reflection{position:absolute;z-index:8;left:8%;right:8%;top:-20%;height:42%;pointer-events:none;background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.055) 44%,transparent 68%);transform:skewY(-4deg);opacity:.55}
.jj-aaa .jj-reels{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  width:100%;
  height:100%;
  padding:6px;
  border:1px solid rgba(230,190,77,.42);
  border-radius:15px;
  background:linear-gradient(180deg,#06150c,#010503);
  box-shadow:inset 0 0 38px #000,0 0 24px rgba(35,126,50,.1),0 0 0 3px rgba(15,43,22,.76);
  overflow:hidden;
  contain:layout paint style;
}
.jj-aaa .jj-reels::before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.46),transparent 12%,transparent 87%,rgba(0,0,0,.55)),linear-gradient(90deg,rgba(255,255,255,.035),transparent 12%,transparent 88%,rgba(0,0,0,.2));mix-blend-mode:screen;opacity:.62}
.jj-aaa .jj-reel{position:relative;min-width:0;height:100%;overflow:hidden;border:1px solid rgba(152,185,117,.29);border-radius:10px;background:#031008;box-shadow:inset 0 0 30px rgba(0,0,0,.66),0 0 0 1px rgba(0,0,0,.75);transform:translateZ(0);transition:border-color .45s,box-shadow .45s}
.jj-aaa .jj-reel::after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 16%,transparent 84%,rgba(0,0,0,.23))}
.jj-aaa .jj-reel.anticipation-spin{border-color:rgba(255,215,80,.72);box-shadow:inset 0 0 34px rgba(0,0,0,.6),0 0 18px rgba(255,208,52,.18)}
.jj-aaa .jj-reel.anticipation-spin::before{content:"";position:absolute;z-index:7;inset:0;pointer-events:none;border:1px solid rgba(255,228,119,.4);border-radius:9px;animation:jjAAAReelTension 1.05s ease-in-out infinite alternate}
@keyframes jjAAAReelTension{to{box-shadow:inset 0 0 25px rgba(255,210,54,.13),0 0 17px rgba(255,210,54,.18);opacity:.55}}

.jj-aaa .jj-reel-strip{position:relative;display:flex;flex-direction:column;width:100%;height:100%;transform:translate3d(0,0,0);will-change:transform}
.jj-aaa .jj-reel-strip>.jj-symbol{flex:1 0 33.333333%;min-height:0}
.jj-aaa .jj-reel-strip.aaa-roll>.jj-symbol{flex:0 0 var(--jj-cell-share)}
.jj-aaa .jj-reel-strip.aaa-roll{animation:jjAAAReelRoll var(--jj-reel-duration) cubic-bezier(.12,.74,.17,1) var(--jj-reel-delay) both}
@keyframes jjAAAReelRoll{
  0%{transform:translate3d(0,0,0) scaleY(1);opacity:1}
  8%{transform:translate3d(0,-2.2%,0) scaleY(1.018);opacity:.94}
  28%{opacity:.88}
  76%{opacity:.9}
  92%{transform:translate3d(0,calc(var(--jj-track-move) - .7%),0) scaleY(1.008);opacity:.96}
  97%{transform:translate3d(0,calc(var(--jj-track-move) + .22%),0) scaleY(.997);opacity:1}
  100%{transform:translate3d(0,var(--jj-track-move),0) scaleY(1);opacity:1}
}
.jj-aaa .jj-reel.stopped{animation:jjAAAReelStop .46s var(--jj-ease-spring)}
@keyframes jjAAAReelStop{0%{transform:translateY(-5px) scaleY(1.018)}55%{transform:translateY(2px) scaleY(.994)}100%{transform:none}}

.jj-aaa .jj-symbol{position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid rgba(206,170,66,.2);background:linear-gradient(180deg,rgba(11,30,17,.4),rgba(2,10,5,.55));transition:opacity .32s,filter .32s,transform .32s var(--jj-ease),box-shadow .32s}
.jj-aaa .jj-symbol:last-child{border-bottom:0}
.jj-aaa .jj-symbol img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.015);user-select:none;pointer-events:none}
.jj-aaa .jj-symbol>span{position:absolute;bottom:5px;padding:2px 7px;border-radius:99px;color:#fff3a1;background:rgba(2,8,4,.78);box-shadow:0 2px 9px #000;font-size:.38rem;font-weight:950;letter-spacing:.12em;opacity:.84}
.jj-aaa .jj-symbol.dim{opacity:.21;filter:brightness(.48) saturate(.55)}
.jj-aaa .jj-symbol.win{z-index:3;opacity:1;filter:brightness(1.2) saturate(1.18);transform:scale(.97);box-shadow:inset 0 0 0 2px rgba(189,255,132,.74),inset 0 0 24px rgba(101,255,117,.18);animation:jjAAASymbolWin .76s ease-in-out infinite alternate}
@keyframes jjAAASymbolWin{to{filter:brightness(1.36) saturate(1.27);box-shadow:inset 0 0 0 2px rgba(255,238,142,.82),inset 0 0 30px rgba(97,255,116,.25),0 0 18px rgba(95,255,112,.14)}}
.jj-aaa .jj-symbol.is-scatter.win{box-shadow:inset 0 0 0 2px rgba(255,221,87,.85),inset 0 0 30px rgba(255,205,57,.24)}

.jj-aaa .jj-lines{position:absolute;z-index:7;top:8px;bottom:7px;width:38px;display:grid;grid-template-rows:repeat(5,1fr);align-items:center;pointer-events:none}
.jj-aaa .jj-lines.left{left:6px}.jj-aaa .jj-lines.right{right:6px}
.jj-aaa .jj-lines i{justify-self:center;display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(231,194,74,.62);border-radius:50%;color:#ffe075;background:radial-gradient(circle at 35% 30%,#204d2c,#07160d 72%);box-shadow:0 3px 10px #000;font-style:normal;font-size:.46rem;font-weight:950}
.jj-aaa .jj-payline-layer{position:absolute;z-index:12;left:48px;right:48px;top:8px;bottom:7px;width:calc(100% - 96px);height:calc(100% - 15px);pointer-events:none;overflow:visible}
.jj-aaa .jj-payline-layer polyline{fill:none;stroke:var(--line,#7cffab);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px var(--line,#7cffab)) drop-shadow(0 0 17px rgba(181,255,160,.25));stroke-dasharray:1200;animation:jjAAAPaylineDraw .55s var(--jj-ease) both}
@keyframes jjAAAPaylineDraw{from{stroke-dashoffset:1200;opacity:0}to{stroke-dashoffset:0;opacity:1}}

.jj-aaa .jj-status{position:relative;z-index:5;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:0 16px;border-top:1px solid rgba(224,185,67,.17);background:linear-gradient(180deg,rgba(5,17,10,.88),rgba(2,9,5,.98));overflow:hidden}
.jj-aaa .jj-status::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(108,255,127,.055),transparent);transform:translateX(-100%)}
.jj-aaa .jj-status.pulse::after{animation:jjAAAStatusSweep .85s var(--jj-ease)}
@keyframes jjAAAStatusSweep{to{transform:translateX(100%)}}
.jj-aaa .jj-status-dot{width:7px;height:7px;border-radius:50%;background:#6cff79;box-shadow:0 0 10px #5eff70}
.jj-aaa .jj-status b{font-size:.63rem;color:#e5eee7}.jj-aaa .jj-status small{min-width:0;color:#6f7e75;font-size:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Full anticipation scene */
.jj-aaa .jj-anticipation{position:absolute;z-index:14;inset:8px 48px 7px;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .65s var(--jj-ease),visibility .65s}
.jj-aaa .jj-anticipation.show{opacity:1;visibility:visible}
.jj-aaa .jj-anticipation-aura{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(255,222,87,.16),rgba(1,8,4,.58) 67%);box-shadow:inset 0 0 75px rgba(0,0,0,.75)}
.jj-aaa .jj-anticipation-rune{position:absolute;top:8%;display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,225,112,.45);border-radius:50%;color:#ffe177;background:rgba(5,24,12,.7);box-shadow:0 0 35px rgba(255,209,54,.18),inset 0 0 20px rgba(75,255,100,.08);animation:jjAAARunePulse 1.35s ease-in-out infinite alternate}
.jj-aaa .jj-anticipation-rune .jj-icon{width:36px;height:36px;fill:currentColor;stroke-width:1.2}
@keyframes jjAAARunePulse{to{transform:scale(1.08);box-shadow:0 0 50px rgba(255,211,60,.3),inset 0 0 25px rgba(89,255,111,.12)}}
.jj-aaa .jj-anticipation-copy{position:absolute;bottom:9%;display:grid;gap:5px;text-align:center;padding:13px 23px;border:1px solid rgba(255,224,103,.3);border-radius:13px;background:rgba(2,10,5,.82);box-shadow:0 15px 34px rgba(0,0,0,.48),0 0 27px rgba(255,209,56,.09);transform:translateY(12px);transition:transform .6s var(--jj-ease)}
.jj-aaa .jj-anticipation.show .jj-anticipation-copy{transform:none}
.jj-aaa .jj-anticipation-copy span{color:#ffe68b;font-family:Georgia,serif;font-size:1rem;font-weight:900;letter-spacing:.08em;text-shadow:0 0 14px rgba(255,218,78,.28)}
.jj-aaa .jj-anticipation-copy small{color:#8aff8e;font-size:.55rem;font-weight:950;letter-spacing:.14em}
.jj-aaa .jj-anticipation-beats{position:absolute;bottom:3%;display:flex;gap:7px}.jj-aaa .jj-anticipation-beats i{width:26px;height:3px;border-radius:99px;background:#665018;box-shadow:0 0 8px rgba(255,209,62,.17);animation:jjAAABeat 1.35s ease-in-out infinite}.jj-aaa .jj-anticipation-beats i:nth-child(2){animation-delay:.18s}.jj-aaa .jj-anticipation-beats i:nth-child(3){animation-delay:.36s}
@keyframes jjAAABeat{0%,70%,100%{transform:scaleX(.45);background:#564719}35%{transform:scaleX(1);background:#ffe06d;box-shadow:0 0 14px rgba(255,216,77,.45)}}

/* Control deck */
.jj-aaa .jj-control-deck{
  position:relative;
  z-index:35;
  display:grid;
  grid-template-columns:155px minmax(260px,1fr) 180px 104px minmax(300px,420px);
  align-items:center;
  gap:10px;
  height:142px;
  padding:12px max(18px,4vw) 17px;
  border-width:1px 0 0;
}
.jj-aaa .jj-control-deck::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#d9b54e 20%,#82ff8d 50%,#d9b54e 80%,transparent);opacity:.58}
.jj-aaa .jj-session,.jj-aaa .jj-meters,.jj-aaa .jj-bet-control{height:74px;border:1px solid rgba(226,188,76,.16);border-radius:14px;background:linear-gradient(180deg,rgba(9,28,16,.76),rgba(3,13,8,.8));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.jj-aaa .jj-session{display:grid;align-content:center;gap:9px;padding:0 13px}
.jj-aaa .jj-session span{display:flex;justify-content:space-between;color:#748078;font-size:.49rem;font-weight:950;letter-spacing:.08em}.jj-aaa .jj-session b{color:#e4eee6;font-size:.63rem;font-variant-numeric:tabular-nums}
.jj-aaa .jj-meters{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.jj-aaa .jj-meter{display:grid;align-content:center;padding:0 14px;border-right:1px solid rgba(230,191,77,.13);position:relative}.jj-aaa .jj-meter:last-child{border-right:0}.jj-aaa .jj-meter>span{color:#738078;font-size:.5rem;font-weight:950;letter-spacing:.11em}.jj-aaa .jj-meter>b{color:#eff7f1;font-size:1.04rem;font-variant-numeric:tabular-nums}.jj-aaa .jj-meter small{color:#8a978f;font-size:.45rem}.jj-aaa .jj-win-meter>b{color:#ffe06a;text-shadow:0 0 13px rgba(255,213,66,.19)}
.jj-aaa .jj-bet-control{display:grid;align-content:center;justify-items:center;gap:5px;padding:7px}.jj-aaa .jj-bet-control>span{color:#748078;font-size:.48rem;font-weight:950;letter-spacing:.08em}.jj-aaa .jj-bet-control>div{display:grid;grid-template-columns:38px 72px 38px;gap:5px}.jj-aaa .jj-bet-control button{height:36px;border:1px solid rgba(228,192,82,.3);border-radius:9px;color:#ffe478;background:#0b2615;cursor:pointer;font-size:1.05rem;transition:.2s}.jj-aaa .jj-bet-control button:hover:not(:disabled){border-color:#ffe073;background:#153921;box-shadow:0 0 15px rgba(255,211,73,.1)}.jj-aaa .jj-bet-control button:active:not(:disabled){transform:scale(.92)}.jj-aaa .jj-bet-control button:disabled{opacity:.35;cursor:not-allowed}.jj-aaa .jj-bet-control b{display:grid;place-items:center;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:#020a05;color:#f2f7f3;font-size:.85rem;font-variant-numeric:tabular-nums}

.jj-aaa .jj-spin{position:relative;justify-self:center;display:grid;place-items:center;align-content:center;width:94px;height:94px;padding:0;border:3px solid #baff92;border-radius:50%;color:#102113;background:radial-gradient(circle at 35% 28%,#e6ffbc,#73ed78 48%,#21a741 74%,#096527);box-shadow:inset 0 0 0 4px rgba(255,255,255,.28),inset 0 -9px 17px rgba(0,57,12,.32),0 0 0 4px rgba(26,105,42,.65),0 0 28px rgba(74,255,97,.35),0 14px 30px rgba(0,0,0,.45);cursor:pointer;transition:transform .22s var(--jj-ease-spring),filter .22s,box-shadow .22s;overflow:hidden}
.jj-aaa .jj-spin:hover:not(:disabled){transform:translateY(-2px) scale(1.035);filter:brightness(1.08);box-shadow:inset 0 0 0 4px rgba(255,255,255,.32),inset 0 -9px 17px rgba(0,57,12,.28),0 0 0 4px rgba(39,124,53,.75),0 0 38px rgba(78,255,100,.48),0 17px 34px rgba(0,0,0,.5)}
.jj-aaa .jj-spin:active:not(:disabled){transform:scale(.94)}
.jj-aaa .jj-spin:disabled{cursor:default;filter:saturate(.7);opacity:.78}
.jj-aaa .jj-spin-orbit{position:absolute;inset:7px;border:1px dashed rgba(8,83,27,.45);border-radius:50%;animation:jjAAASpinOrbit 7s linear infinite}
@keyframes jjAAASpinOrbit{to{transform:rotate(360deg)}}
.jj-aaa .jj-spin-paw{position:absolute;top:13px;color:rgba(11,77,28,.48)}.jj-aaa .jj-spin-paw .jj-icon{width:19px;height:19px;fill:currentColor;stroke-width:1.1}
.jj-aaa .jj-spin>span:not(.jj-spin-orbit){position:relative;z-index:2;margin-top:10px;font-size:.77rem;font-weight:950;letter-spacing:.035em}.jj-aaa .jj-spin>small{position:relative;z-index:2;font-size:.44rem;font-weight:800;opacity:.72}
.jj-aaa .jj-spin.auto-running{background:radial-gradient(circle at 35% 28%,#fff1a8,#e5b83f 48%,#a8660e 78%,#603500);border-color:#ffe58a;color:#382100;box-shadow:inset 0 0 0 4px rgba(255,255,255,.25),0 0 32px rgba(255,203,55,.34),0 14px 30px rgba(0,0,0,.45)}
.jj-aaa .jj-spin.auto-running .jj-spin-orbit{animation-duration:1.2s}
.jj-aaa .jj-spin.busy .jj-spin-orbit{animation-duration:.85s}

.jj-aaa .jj-secondary-actions{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:7px;height:74px}
.jj-aaa .jj-auto-wrap{position:relative;min-width:0;height:100%}
.jj-aaa .jj-action-button{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:3px;border:1px solid rgba(230,191,76,.19);border-radius:12px;color:#cdd9d0;background:linear-gradient(180deg,rgba(13,38,22,.82),rgba(4,17,9,.9));box-shadow:inset 0 1px rgba(255,255,255,.04);cursor:pointer;transition:transform .2s var(--jj-ease),border-color .2s,color .2s,background .2s,box-shadow .2s}
.jj-aaa .jj-action-button:hover{transform:translateY(-1px);border-color:rgba(255,224,117,.52);color:#ffe488;box-shadow:inset 0 1px rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.2)}
.jj-aaa .jj-action-button:active{transform:scale(.96)}
.jj-aaa .jj-action-button .jj-icon{width:18px;height:18px}.jj-aaa .jj-action-button>span{font-size:.49rem;font-weight:950;letter-spacing:.07em}.jj-aaa .jj-action-button>small{color:#718078;font-size:.38rem;white-space:nowrap}
.jj-aaa .jj-action-button.active{color:#8fff8a;border-color:rgba(92,255,111,.49);background:linear-gradient(180deg,rgba(22,70,34,.9),rgba(5,28,13,.94));box-shadow:inset 0 0 18px rgba(86,255,109,.07),0 0 15px rgba(78,255,101,.08)}
.jj-aaa .jj-turbo-button.active .jj-icon{fill:rgba(116,255,111,.17);filter:drop-shadow(0 0 5px #69ff79)}
.jj-aaa .jj-turbo-button.suspended{color:#ffd96a;border-color:rgba(255,211,74,.52);animation:jjAAATurboPause .9s ease-in-out infinite alternate}
@keyframes jjAAATurboPause{to{box-shadow:inset 0 0 20px rgba(255,209,57,.08),0 0 15px rgba(255,208,55,.11)}}

.jj-aaa .jj-auto-menu{position:absolute;z-index:90;right:0;bottom:86px;width:390px;padding:17px;border:1px solid rgba(240,200,82,.34);border-radius:17px;background:linear-gradient(180deg,rgba(10,31,18,.992),rgba(2,12,7,.994));box-shadow:0 34px 75px rgba(0,0,0,.68),inset 0 1px rgba(255,255,255,.05);opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;transition:opacity .25s var(--jj-ease),transform .25s var(--jj-ease),visibility .25s}
.jj-aaa .jj-auto-menu.show{opacity:1;visibility:visible;transform:none}
.jj-aaa .jj-auto-head{display:flex;align-items:center;justify-content:space-between}.jj-aaa .jj-auto-head span{display:block;color:#718079;font-size:.47rem;font-weight:950;letter-spacing:.14em}.jj-aaa .jj-auto-head b{display:block;color:#ffe68b;font-family:Georgia,serif;font-size:1.08rem}.jj-aaa .jj-auto-head button{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(230,190,77,.2);border-radius:9px;color:#cfdcd2;background:#0a2113;cursor:pointer}.jj-aaa .jj-auto-head .jj-icon{width:14px;height:14px}.jj-aaa .jj-auto-menu>p{margin:8px 0 13px;color:#79887f;font-size:.55rem;line-height:1.5}
.jj-aaa .jj-auto-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.jj-aaa .jj-auto-grid button{height:54px;display:grid;place-content:center;border:1px solid rgba(229,191,78,.18);border-radius:10px;color:#d7e3da;background:linear-gradient(180deg,#102c1a,#07170d);cursor:pointer;transition:.2s}.jj-aaa .jj-auto-grid button:hover{transform:translateY(-1px);border-color:#f2d675;color:#ffe58a;background:#173a23;box-shadow:0 7px 15px rgba(0,0,0,.24)}.jj-aaa .jj-auto-grid b{font-size:.82rem}.jj-aaa .jj-auto-grid span{color:#728078;font-size:.4rem}
.jj-aaa .jj-auto-state{display:flex;align-items:center;gap:7px;margin-top:12px;padding:9px 10px;border:1px solid rgba(91,255,111,.1);border-radius:9px;background:rgba(10,34,18,.65);color:#87958c;font-size:.49rem}.jj-aaa .jj-auto-state i{width:6px;height:6px;border-radius:50%;background:#65ff75;box-shadow:0 0 8px #65ff75}

/* Big win */
.jj-aaa .jj-big-win{position:fixed;z-index:220;inset:0;display:grid;place-content:center;justify-items:center;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s var(--jj-ease),visibility .35s;color:#fff;text-align:center}
.jj-aaa .jj-big-win.show{pointer-events:auto;opacity:1;visibility:visible;cursor:pointer}
.jj-aaa .jj-big-win.leaving{opacity:0}
.jj-aaa .jj-big-win canvas{position:absolute;inset:0;width:100%;height:100%}
.jj-aaa .jj-big-win-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(45,126,58,.34),rgba(0,5,2,.93) 62%);animation:jjAAABigBackdrop 1.2s ease-in-out infinite alternate}
@keyframes jjAAABigBackdrop{to{filter:brightness(1.12)}}
.jj-aaa .jj-win-emblem{position:relative;z-index:2;display:grid;place-items:center;width:112px;height:112px;margin-bottom:12px;border:2px solid rgba(255,229,122,.62);border-radius:50%;color:#ffe378;background:radial-gradient(circle,#1c5129,#06170d 68%);box-shadow:0 0 0 8px rgba(255,213,60,.06),0 0 60px rgba(255,207,52,.3),inset 0 0 30px rgba(90,255,112,.12);animation:jjAAAWinEmblem 1.35s var(--jj-ease-spring) infinite alternate}
.jj-aaa .jj-win-emblem .jj-icon{width:58px;height:58px;fill:currentColor;stroke-width:1}
@keyframes jjAAAWinEmblem{to{transform:scale(1.08) rotate(2deg);box-shadow:0 0 0 14px rgba(255,213,60,.035),0 0 80px rgba(255,207,52,.4),inset 0 0 38px rgba(90,255,112,.16)}}
.jj-aaa .jj-big-win>span,.jj-aaa .jj-big-win>b,.jj-aaa .jj-big-win>small,.jj-aaa .jj-big-win>em,.jj-aaa .jj-big-win>p{position:relative;z-index:2}
.jj-aaa .jj-big-win>span{color:#ffe584;font-family:Georgia,serif;font-size:clamp(2rem,6vw,5.4rem);font-weight:900;line-height:.9;letter-spacing:-.035em;text-shadow:0 4px 0 #4a2600,0 0 28px rgba(255,211,69,.48);animation:jjAAAWinTitle .6s var(--jj-ease-spring) both}
@keyframes jjAAAWinTitle{from{opacity:0;transform:translateY(22px) scale(.72)}to{opacity:1;transform:none}}
.jj-aaa .jj-big-win>b{margin-top:10px;color:#f8fff9;font-size:clamp(3rem,9vw,8rem);line-height:.9;font-variant-numeric:tabular-nums;text-shadow:0 5px 0 #102a17,0 0 35px rgba(91,255,111,.42)}
.jj-aaa .jj-big-win>small{margin-top:4px;color:#91a197;font-size:.62rem;font-weight:950;letter-spacing:.28em}.jj-aaa .jj-big-win>em{margin-top:14px;color:#8eff93;font-style:normal;font-size:.72rem;font-weight:950;letter-spacing:.11em}.jj-aaa .jj-big-win>p{margin:18px 0 0;color:#66756c;font-size:.48rem}
.jj-aaa .jj-big-win[data-tier="3"] .jj-big-win-backdrop,.jj-aaa .jj-big-win[data-tier="4"] .jj-big-win-backdrop{background:radial-gradient(circle at 50% 48%,rgba(156,108,24,.38),rgba(0,5,2,.94) 64%)}

/* Bear gate */
.jj-aaa .jj-bear-gate{position:fixed;z-index:200;inset:0;display:grid;place-content:center;justify-items:center;overflow:hidden;text-align:center;background:rgba(0,5,2,.92);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s var(--jj-ease),visibility .5s}
.jj-aaa .jj-bear-gate.show{opacity:1;visibility:visible}
.jj-aaa .jj-bear-gate.depart{opacity:0;transform:scale(1.04);transition:opacity .55s var(--jj-ease),transform .55s var(--jj-ease)}
.jj-aaa .jj-bear-fog{position:absolute;inset:25% -10% -10%;background:radial-gradient(ellipse,rgba(133,181,133,.28),transparent 62%);filter:blur(32px);animation:jjAAABearFog 4s ease-in-out infinite alternate}
@keyframes jjAAABearFog{to{transform:translateX(6%) scale(1.1)}}
.jj-aaa .jj-bear-rays{position:absolute;inset:-30%;background:repeating-conic-gradient(from 0deg,rgba(255,211,72,.11) 0 4deg,transparent 4deg 13deg);mask-image:radial-gradient(circle,black 0 29%,transparent 68%);animation:jjAAABearRays 18s linear infinite}
@keyframes jjAAABearRays{to{transform:rotate(360deg)}}
.jj-aaa .jj-bear-rune{position:absolute;width:min(70vw,680px);aspect-ratio:1;border:1px solid rgba(233,193,74,.16);border-radius:50%;box-shadow:inset 0 0 80px rgba(73,255,96,.04),0 0 80px rgba(255,211,62,.05);animation:jjAAABearRune 5s ease-in-out infinite alternate}
@keyframes jjAAABearRune{to{transform:scale(1.08);opacity:.55}}
.jj-aaa .jj-bear-portrait{position:relative;z-index:2;width:min(42vw,420px);aspect-ratio:1;border:2px solid rgba(255,226,111,.56);border-radius:50%;overflow:hidden;background:#06150c;box-shadow:0 0 0 10px rgba(255,209,58,.035),0 0 80px rgba(255,207,55,.25),inset 0 0 35px #000;transform:translateY(25px) scale(.78);opacity:0;transition:transform .7s var(--jj-ease-spring),opacity .5s}
.jj-aaa .jj-bear-gate.show .jj-bear-portrait{transform:none;opacity:1}.jj-aaa .jj-bear-gate.roar .jj-bear-portrait{animation:jjAAABearRoar .58s ease-in-out 2}
@keyframes jjAAABearRoar{0%,100%{transform:none}25%{transform:scale(1.035) translateX(-2px)}65%{transform:scale(1.055) translateX(2px)}}
.jj-aaa .jj-bear-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(1.12) brightness(1.06)}
.jj-aaa .jj-bear-portrait i{position:absolute;top:39%;width:9%;height:4%;border-radius:50%;background:#fff18a;box-shadow:0 0 18px #fff18a,0 0 36px #5bff6e;opacity:0;transition:opacity .2s}.jj-aaa .jj-bear-portrait i:first-of-type{left:31%}.jj-aaa .jj-bear-portrait i:last-of-type{right:31%}.jj-aaa .jj-bear-gate.roar .jj-bear-portrait i{opacity:.82}
.jj-aaa .jj-bear-copy{position:relative;z-index:3;margin-top:17px;opacity:0;transform:translateY(18px);transition:opacity .6s .2s,transform .6s .2s var(--jj-ease)}.jj-aaa .jj-bear-gate.show .jj-bear-copy{opacity:1;transform:none}.jj-aaa .jj-bear-copy>span{color:#83ff8d;font-size:.58rem;font-weight:950;letter-spacing:.2em}.jj-aaa .jj-bear-copy h2{margin:6px 0 7px;color:#fff3b5;font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5rem);line-height:.82;text-shadow:0 5px 0 #3b2100,0 0 30px rgba(255,210,65,.34)}.jj-aaa .jj-bear-copy h2 b{color:#70ef7c}.jj-aaa .jj-bear-copy p{margin:0;color:#93a098;font-size:.56rem;font-weight:850;letter-spacing:.11em}

/* Bear Plinko */
.jj-aaa .jj-plinko-bonus{position:fixed;z-index:210;inset:0;display:grid;grid-template-rows:76px minmax(0,1fr) 64px;gap:10px;padding:12px;background:radial-gradient(circle at 50% 45%,rgba(31,90,43,.2),transparent 45%),linear-gradient(180deg,#06160c,#010604);opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .5s var(--jj-ease),transform .5s var(--jj-ease),visibility .5s;overflow:hidden}
.jj-aaa .jj-plinko-bonus.show{opacity:1;visibility:visible;transform:none}.jj-aaa .jj-plinko-bonus.leaving{opacity:0;transform:scale(1.02)}
.jj-plinko-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}.jj-plinko-atmosphere::before{content:"";position:absolute;inset:-30%;background:repeating-conic-gradient(from 20deg,rgba(255,211,74,.035) 0 4deg,transparent 4deg 17deg);animation:jjAAAPlinkoRays 30s linear infinite}.jj-plinko-atmosphere i{position:absolute;border-radius:50%;filter:blur(28px);opacity:.17}.jj-plinko-atmosphere i:nth-child(1){left:-10%;bottom:8%;width:45%;height:25%;background:#83c68d;animation:jjAAAFogOne 19s ease-in-out infinite alternate}.jj-plinko-atmosphere i:nth-child(2){right:-15%;top:20%;width:48%;height:22%;background:#d3ae4d;animation:jjAAAFogTwo 23s ease-in-out infinite alternate}.jj-plinko-atmosphere i:nth-child(3){left:40%;top:5%;width:25%;height:20%;background:#62ff79;opacity:.06}
@keyframes jjAAAPlinkoRays{to{transform:rotate(360deg)}}
.jj-aaa .jj-plinko-head{position:relative;z-index:2;display:grid;grid-template-columns:1fr 170px 210px;align-items:center;gap:10px;padding:8px 13px;border-radius:15px}.jj-aaa .jj-plinko-brand{display:flex;align-items:center;gap:10px}.jj-aaa .jj-plinko-brand img{width:55px;height:55px;border:1px solid rgba(255,220,101,.4);border-radius:50%;object-fit:cover;box-shadow:0 0 22px rgba(255,205,55,.18)}.jj-aaa .jj-plinko-brand span{display:block;color:#6fff7a;font-size:.46rem;font-weight:950;letter-spacing:.17em}.jj-aaa .jj-plinko-brand h2{margin:0;color:#ffe58b;font-family:Georgia,serif;font-size:1.5rem;line-height:1}.jj-aaa .jj-plinko-stat{display:grid;align-content:center;height:54px;padding:0 13px;border-left:1px solid rgba(231,192,77,.16)}.jj-aaa .jj-plinko-stat span{color:#738179;font-size:.46rem;font-weight:950;letter-spacing:.12em}.jj-aaa .jj-plinko-stat b{color:#ecf5ee;font-size:1.22rem;font-variant-numeric:tabular-nums}.jj-aaa .jj-plinko-stat.win b{color:#ffe170}.jj-aaa .jj-plinko-stat i{font-style:normal}
.jj-aaa .jj-plinko-shell{position:relative;z-index:2;min-height:0;display:grid;grid-template-columns:minmax(130px,17vw) minmax(0,1fr) minmax(170px,19vw);gap:10px}
.jj-aaa .jj-plinko-guardian,.jj-aaa .jj-plinko-info{position:relative;min-height:0;border:1px solid rgba(231,192,77,.2);border-radius:17px;background:linear-gradient(180deg,rgba(9,31,17,.85),rgba(2,12,7,.92));box-shadow:inset 0 1px rgba(255,255,255,.035),0 20px 45px rgba(0,0,0,.3);overflow:hidden}
.jj-aaa .jj-plinko-guardian{display:grid;align-content:center;justify-items:center;padding:15px}.jj-aaa .jj-guardian-halo{position:absolute;width:115%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(rgba(255,211,66,.12) 0 5deg,transparent 5deg 17deg);mask-image:radial-gradient(circle,transparent 0 40%,black 55%,transparent 72%);animation:jjAAAPlinkoRays 25s linear infinite}.jj-aaa .jj-plinko-guardian img{position:relative;width:min(100%,200px);aspect-ratio:1;border:1px solid rgba(255,221,106,.34);border-radius:50%;object-fit:cover;box-shadow:0 0 36px rgba(255,207,52,.18)}.jj-aaa .jj-plinko-guardian span{position:relative;margin-top:10px;color:#ffe489;font-family:Georgia,serif;font-size:.8rem;text-align:center;letter-spacing:.06em}
.jj-aaa .jj-plinko-info{display:grid;align-content:center;gap:10px;padding:16px}.jj-aaa .jj-plinko-info>span{color:#6eff7a;font-size:.5rem;font-weight:950;letter-spacing:.15em}.jj-aaa .jj-plinko-info>div{display:grid;gap:2px;padding:10px;border:1px solid rgba(230,191,76,.14);border-radius:10px;background:rgba(5,21,11,.66)}.jj-aaa .jj-plinko-info small{color:#718078;font-size:.46rem;font-weight:850}.jj-aaa .jj-plinko-info b{color:#ffe37b;font-size:1rem}.jj-aaa .jj-plinko-info p{margin:0;color:#89978e;font-size:.56rem;line-height:1.55}.jj-aaa .jj-plinko-info strong{color:#ffe075}
.jj-aaa .jj-plinko-board-wrap{position:relative;min-width:0;min-height:0;border:1px solid rgba(235,195,76,.36);border-radius:18px;background:#04110a;box-shadow:inset 0 0 55px rgba(0,0,0,.55),0 20px 45px rgba(0,0,0,.36),0 0 30px rgba(53,162,68,.08);overflow:hidden;transform:translateZ(0)}
.jj-aaa .jj-plinko-board-wrap::before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.035) 42%,transparent 62%);opacity:.55}
.jj-aaa .jj-plinko-canvas{display:block;width:100%;height:100%;min-height:440px}
.jj-aaa .jj-plinko-board-wrap.pin-hit{animation:jjAAAPinHit .18s ease-out}.jj-aaa .jj-plinko-board-wrap.hit-high{animation:jjAAAHighImpact .58s var(--jj-ease)}.jj-aaa .jj-plinko-board-wrap.hit-extra{animation:jjAAAExtraImpact .68s var(--jj-ease)}
@keyframes jjAAAPinHit{50%{filter:brightness(1.04)}}
@keyframes jjAAAHighImpact{25%{transform:scale(1.008);box-shadow:inset 0 0 70px rgba(255,202,51,.13),0 0 40px rgba(255,202,51,.16)}55%{transform:scale(.998)}100%{transform:none}}
@keyframes jjAAAExtraImpact{20%{transform:scale(1.013) rotate(.15deg);box-shadow:inset 0 0 80px rgba(255,215,74,.18),0 0 55px rgba(255,204,55,.24)}45%{transform:scale(.995) rotate(-.1deg)}100%{transform:none}}

.jj-plinko-launch-zone{position:absolute;z-index:8;left:50%;top:11px;transform:translateX(-50%);transition:opacity .3s,transform .3s;pointer-events:none}.jj-plinko-launch-zone.hidden{opacity:0;transform:translate(-50%,-8px)}
.jj-plinko-launch{pointer-events:auto;display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-width:190px;padding:8px 14px 8px 9px;border:1px solid rgba(255,230,130,.62);border-radius:999px;color:#342000;background:linear-gradient(180deg,#fff0a5,#e2ad35 58%,#9c5d0c);box-shadow:inset 0 1px rgba(255,255,255,.5),0 7px 23px rgba(0,0,0,.42),0 0 25px rgba(255,208,57,.2);cursor:pointer;transition:transform .22s var(--jj-ease-spring),filter .22s,box-shadow .22s}
.jj-plinko-launch:hover:not(:disabled){transform:translateY(-2px) scale(1.025);filter:brightness(1.06);box-shadow:inset 0 1px rgba(255,255,255,.55),0 10px 27px rgba(0,0,0,.46),0 0 34px rgba(255,208,57,.3)}.jj-plinko-launch:active:not(:disabled){transform:scale(.96)}.jj-plinko-launch:disabled{cursor:default;filter:saturate(.58);opacity:.72}
.jj-plinko-launch>i{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#ffe175;background:#183921;box-shadow:inset 0 0 0 2px rgba(255,235,144,.2)}.jj-plinko-launch>i .jj-icon{width:25px;height:25px;fill:currentColor;stroke-width:1}.jj-plinko-launch>span{align-self:end;font-size:.7rem;font-weight:950;letter-spacing:.045em}.jj-plinko-launch>small{align-self:start;font-size:.42rem;font-weight:800;opacity:.68}.jj-plinko-launch.ready>i{animation:jjAAALaunchReady 1.2s ease-in-out infinite alternate}.jj-plinko-launch.busy>i{animation:jjAAASpinOrbit .85s linear infinite}
@keyframes jjAAALaunchReady{to{transform:scale(1.08);box-shadow:inset 0 0 0 2px rgba(255,235,144,.25),0 0 16px rgba(87,255,108,.28)}}

.jj-aaa .jj-plinko-callout{position:absolute;z-index:10;left:50%;bottom:13%;padding:9px 15px;border:1px solid rgba(255,224,106,.32);border-radius:999px;color:#e9f5eb;background:rgba(3,15,8,.88);box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;transform:translate(-50%,12px) scale(.9);pointer-events:none;transition:.3s var(--jj-ease);font-size:.64rem;font-weight:950;white-space:nowrap}.jj-aaa .jj-plinko-callout.show{opacity:1;transform:translate(-50%,0) scale(1)}.jj-aaa .jj-plinko-callout.extra{color:#ffe477;border-color:rgba(255,224,106,.65)}
.jj-plinko-prize{position:absolute;z-index:14;left:50%;top:50%;display:grid;justify-items:center;min-width:min(420px,80%);padding:20px 28px;border:1px solid rgba(255,229,125,.54);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(64,139,67,.28),transparent 60%),rgba(2,12,6,.94);box-shadow:0 25px 70px rgba(0,0,0,.66),0 0 55px rgba(255,210,59,.18),inset 0 1px rgba(255,255,255,.06);opacity:0;visibility:hidden;transform:translate(-50%,-44%) scale(.75);transition:opacity .3s var(--jj-ease),transform .42s var(--jj-ease-spring),visibility .3s;pointer-events:none}.jj-plinko-prize.show{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.jj-plinko-prize.leaving{opacity:0;transform:translate(-50%,-58%) scale(.92)}.jj-plinko-prize>span{color:#7eff88;font-size:.52rem;font-weight:950;letter-spacing:.15em}.jj-plinko-prize>b{margin:4px 0;color:#fff0a0;font-family:Georgia,serif;font-size:clamp(1.9rem,4vw,3.5rem);text-shadow:0 3px 0 #4a2700,0 0 25px rgba(255,211,70,.35)}.jj-plinko-prize>small{color:#7f8d84;font-size:.5rem;font-weight:900;letter-spacing:.09em}.jj-plinko-prize.extra{background:radial-gradient(circle at 50% 0,rgba(255,207,55,.2),transparent 58%),rgba(18,11,2,.95);animation:jjAAAExtraPrize .52s var(--jj-ease-spring)}
@keyframes jjAAAExtraPrize{35%{transform:translate(-50%,-50%) scale(1.08) rotate(.4deg)}}

.jj-aaa .jj-plinko-footer{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:0 14px;border-radius:14px}.jj-aaa .jj-paw-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#ffe16f;background:#11301a}.jj-aaa .jj-paw-dot .jj-icon{width:18px;height:18px;fill:currentColor;stroke-width:1}.jj-aaa .jj-plinko-footer>b{min-width:0;color:#dde9df;font-size:.61rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jj-aaa .jj-plinko-footer>small{color:#6f7d74;font-size:.47rem}.jj-aaa .jj-plinko-roar{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,218,91,.19);border-radius:999px;background:#07190e}.jj-aaa .jj-plinko-roar small{color:#718078;font-size:.42rem;font-weight:950;letter-spacing:.12em}.jj-aaa .jj-plinko-roar b{color:#ffe379;font-size:.82rem}.jj-aaa .jj-plinko-roar.hot{border-color:rgba(255,225,109,.64);box-shadow:0 0 18px rgba(255,204,52,.18);animation:jjAAARoarHot .55s ease-in-out infinite alternate}
@keyframes jjAAARoarHot{to{transform:scale(1.06)}}

/* Dialog */
.jj-aaa .jj-dialog{width:min(920px,calc(100vw - 30px));max-height:min(82vh,760px);padding:0;border:1px solid rgba(236,197,80,.38);border-radius:18px;color:#e7f0e9;background:linear-gradient(180deg,#0a2816,#031109);box-shadow:0 30px 90px rgba(0,0,0,.78);overflow:hidden}.jj-aaa .jj-dialog::backdrop{background:rgba(0,5,2,.78);backdrop-filter:blur(5px)}.jj-aaa .jj-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(231,192,75,.18);background:linear-gradient(180deg,rgba(26,64,34,.46),rgba(4,19,10,.2))}.jj-aaa .jj-dialog-head span{display:block;color:#6dff79;font-size:.47rem;font-weight:950;letter-spacing:.15em}.jj-aaa .jj-dialog-head h2{margin:1px 0 0;color:#ffe58a;font-family:Georgia,serif}.jj-aaa .jj-dialog-head button{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(230,191,75,.22);border-radius:10px;color:#dce8df;background:#0a2414;cursor:pointer}.jj-aaa .jj-dialog-head .jj-icon{width:16px;height:16px}.jj-aaa .jj-dialog-tabs{display:flex;gap:7px;padding:10px 16px;border-bottom:1px solid rgba(231,192,75,.12)}.jj-aaa .jj-dialog-tabs button{padding:8px 13px;border:1px solid rgba(230,191,75,.16);border-radius:9px;color:#9aaba0;background:#081c10;cursor:pointer;font-size:.6rem;font-weight:850}.jj-aaa .jj-dialog-tabs button.active{color:#ffe37d;border-color:rgba(255,221,102,.55);background:#15351f}.jj-aaa .jj-dialog-body{max-height:calc(82vh - 135px);padding:18px;overflow:auto}.jj-aaa .jj-rule-lead,.jj-aaa .jj-rules-copy{color:#a7b5ac;font-size:.7rem;line-height:1.65}.jj-aaa .jj-pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.jj-aaa .jj-pay-card{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid rgba(230,191,75,.13);border-radius:10px;background:#06170d}.jj-aaa .jj-pay-card img{width:52px;height:52px;border-radius:8px;object-fit:cover}.jj-aaa .jj-pay-card b{display:block;color:#e8f1ea;font-size:.62rem}.jj-aaa .jj-pay-card span{color:#7b8a80;font-size:.47rem}.jj-aaa .jj-scatter-rule{display:flex;align-items:center;gap:12px;margin-top:12px;padding:11px;border:1px solid rgba(255,218,79,.27);border-radius:12px;background:rgba(71,47,6,.18)}.jj-aaa .jj-scatter-rule img{width:74px;height:74px;border-radius:10px}.jj-aaa .jj-scatter-rule b{display:block;color:#ffe27a;font-size:.68rem}.jj-aaa .jj-scatter-rule span{display:block;color:#a4b0a8;font-size:.58rem;line-height:1.5}.jj-aaa .jj-rules-copy li{margin:7px 0}.jj-aaa .jj-rules-copy code{color:#ffe277}
.jj-aaa .jj-legal{position:absolute;z-index:40;left:8px;bottom:2px;margin:0;color:#536158;font-size:.37rem;pointer-events:none}

/* Responsive */
@media(max-width:1180px){
  .jj-aaa .jj-control-deck{grid-template-columns:minmax(250px,1fr) 165px 100px minmax(260px,360px)}
  .jj-aaa .jj-session{display:none}
  .jj-aaa .jj-plinko-shell{grid-template-columns:130px minmax(0,1fr) 165px}
  .jj-aaa .jj-plinko-info{padding:12px}
}
@media(max-width:900px){
  .jj-game.jj-aaa{min-height:720px;grid-template-rows:54px minmax(0,1fr) 160px}
  .jj-aaa .jj-topbar{height:54px;padding:0 10px}.jj-aaa .jj-brand span,.jj-aaa .jj-demo-pill{display:none}.jj-aaa .jj-top-actions{gap:4px}.jj-aaa .jj-top-actions button{width:36px;height:34px}.jj-aaa .jj-back span{display:none}.jj-aaa .jj-back{width:36px;padding:0}
  .jj-aaa .jj-stage{grid-template-rows:66px minmax(0,1fr);padding:0 12px 7px}.jj-aaa .jj-title-lockup h1{font-size:clamp(1.8rem,7vw,3rem)}.jj-aaa .jj-kicker{font-size:.42rem}.jj-aaa .jj-title-lockup small{font-size:.42rem}
  .jj-aaa .jj-cabinet{grid-template-rows:44px minmax(0,1fr) 32px;border-radius:17px}.jj-aaa .jj-cabinet-head>div{padding:0 8px}.jj-aaa .jj-cabinet-head span{font-size:.38rem}.jj-aaa .jj-cabinet-head b{font-size:.55rem}.jj-aaa .jj-reel-window{padding-left:30px;padding-right:30px}.jj-aaa .jj-lines{width:26px}.jj-aaa .jj-lines.left{left:2px}.jj-aaa .jj-lines.right{right:2px}.jj-aaa .jj-lines i{width:18px;height:18px;font-size:.39rem}.jj-aaa .jj-payline-layer,.jj-aaa .jj-anticipation{left:30px;right:30px;width:calc(100% - 60px)}
  .jj-aaa .jj-control-deck{height:160px;grid-template-columns:minmax(0,1fr) 98px;grid-template-rows:72px 58px;gap:7px;padding:9px 10px 17px}.jj-aaa .jj-meters{grid-column:1;grid-row:1}.jj-aaa .jj-bet-control{grid-column:1;grid-row:2;height:52px;display:flex;justify-content:space-between;align-items:center;padding:6px 8px}.jj-aaa .jj-bet-control>div{grid-template-columns:34px 62px 34px}.jj-aaa .jj-bet-control button{height:34px}.jj-aaa .jj-spin{grid-column:2;grid-row:1/3;width:87px;height:87px}.jj-aaa .jj-secondary-actions{position:absolute;left:10px;right:115px;bottom:5px;height:0;overflow:visible}.jj-aaa .jj-secondary-actions .jj-action-button{height:45px;transform:translateY(47px)}.jj-aaa .jj-action-button>small{display:none}.jj-aaa .jj-action-button>span{font-size:.41rem}.jj-aaa .jj-action-button .jj-icon{width:15px;height:15px}.jj-aaa .jj-auto-menu{position:fixed;left:10px;right:10px;bottom:156px;width:auto;transform-origin:bottom center}
  .jj-aaa .jj-plinko-bonus{grid-template-rows:66px minmax(0,1fr) 58px;padding:8px;gap:7px}.jj-aaa .jj-plinko-head{grid-template-columns:1fr 100px 130px;padding:6px 9px}.jj-aaa .jj-plinko-brand img{width:47px;height:47px}.jj-aaa .jj-plinko-brand h2{font-size:1.1rem}.jj-aaa .jj-plinko-stat{height:48px;padding:0 8px}.jj-aaa .jj-plinko-stat b{font-size:.9rem}.jj-aaa .jj-plinko-shell{grid-template-columns:minmax(0,1fr)}.jj-aaa .jj-plinko-guardian,.jj-aaa .jj-plinko-info{display:none}.jj-aaa .jj-plinko-footer{grid-template-columns:auto minmax(0,1fr) auto}.jj-aaa .jj-plinko-footer>small{display:none}.jj-aaa .jj-plinko-canvas{min-height:420px}
}
@media(max-width:600px){
  .jj-game.jj-aaa{min-height:660px;grid-template-rows:50px minmax(0,1fr) 173px}.jj-aaa .jj-topbar{height:50px}.jj-aaa .jj-top-actions button:nth-of-type(1){display:none}.jj-aaa .jj-stage{grid-template-rows:58px minmax(0,1fr);padding:0 5px 5px}.jj-aaa .jj-kicker{font-size:.36rem;letter-spacing:.2em}.jj-aaa .jj-title-lockup h1{font-size:1.7rem}.jj-aaa .jj-title-lockup small{font-size:.35rem}
  .jj-aaa .jj-cabinet{grid-template-rows:40px minmax(0,1fr) 31px;border-radius:13px;box-shadow:0 13px 30px rgba(0,0,0,.54),0 0 0 3px rgba(20,58,29,.58),0 0 0 4px rgba(204,163,51,.16)}.jj-aaa .jj-cabinet-head{grid-template-columns:.8fr 1.4fr .8fr}.jj-aaa .jj-cabinet-head>div{padding:0 5px}.jj-aaa .jj-cabinet-head span{font-size:.32rem;letter-spacing:.08em}.jj-aaa .jj-cabinet-head b{font-size:.46rem}.jj-aaa .jj-feature-meter b i{display:none}.jj-aaa .jj-reel-window{padding:5px 19px}.jj-aaa .jj-reels{gap:3px;padding:3px;border-radius:9px}.jj-aaa .jj-reel{border-radius:6px}.jj-aaa .jj-lines{top:5px;bottom:5px;width:17px}.jj-aaa .jj-lines i{width:15px;height:15px;font-size:.31rem}.jj-aaa .jj-payline-layer,.jj-aaa .jj-anticipation{left:19px;right:19px;top:5px;bottom:5px;width:calc(100% - 38px);height:calc(100% - 10px)}.jj-aaa .jj-payline-layer polyline{stroke-width:4}.jj-aaa .jj-payline-tag{display:none}.jj-aaa .jj-status{padding:0 7px;gap:5px}.jj-aaa .jj-status b{font-size:.49rem}.jj-aaa .jj-status small{font-size:.39rem}.jj-aaa .jj-anticipation-rune{width:52px;height:52px}.jj-aaa .jj-anticipation-rune .jj-icon{width:26px;height:26px}.jj-aaa .jj-anticipation-copy{bottom:10%;padding:9px 12px}.jj-aaa .jj-anticipation-copy span{font-size:.65rem}.jj-aaa .jj-anticipation-copy small{font-size:.4rem}
  .jj-aaa .jj-control-deck{height:173px;grid-template-columns:minmax(0,1fr) 92px;grid-template-rows:64px 49px;padding:7px 7px 20px}.jj-aaa .jj-meters{height:64px}.jj-aaa .jj-meter{padding:0 8px}.jj-aaa .jj-meter>span{font-size:.4rem}.jj-aaa .jj-meter>b{font-size:.82rem}.jj-aaa .jj-bet-control{height:49px}.jj-aaa .jj-bet-control>span{font-size:.4rem}.jj-aaa .jj-spin{width:82px;height:82px}.jj-aaa .jj-spin>span:not(.jj-spin-orbit){font-size:.68rem}.jj-aaa .jj-secondary-actions{left:7px;right:105px}.jj-aaa .jj-secondary-actions .jj-action-button{height:42px;transform:translateY(44px);border-radius:9px}.jj-aaa .jj-auto-menu{bottom:168px;padding:14px}.jj-aaa .jj-auto-grid{grid-template-columns:repeat(4,1fr);gap:5px}.jj-aaa .jj-auto-grid button{height:48px}.jj-aaa .jj-legal{font-size:.29rem}
  .jj-volume-panel{top:47px;right:6px}
  .jj-aaa .jj-bear-portrait{width:min(72vw,340px)}.jj-aaa .jj-bear-copy>span{font-size:.4rem}.jj-aaa .jj-bear-copy h2{font-size:2.45rem}.jj-aaa .jj-bear-copy p{font-size:.4rem;padding:0 12px}
  .jj-aaa .jj-plinko-bonus{grid-template-rows:58px minmax(0,1fr) 53px;padding:5px}.jj-aaa .jj-plinko-head{grid-template-columns:1fr 66px 94px;border-radius:10px}.jj-aaa .jj-plinko-brand{gap:6px}.jj-aaa .jj-plinko-brand img{display:none}.jj-aaa .jj-plinko-brand span{font-size:.34rem}.jj-aaa .jj-plinko-brand h2{font-size:.84rem}.jj-aaa .jj-plinko-stat{padding:0 5px}.jj-aaa .jj-plinko-stat span{font-size:.3rem}.jj-aaa .jj-plinko-stat b{font-size:.7rem}.jj-aaa .jj-plinko-board-wrap{border-radius:11px}.jj-aaa .jj-plinko-canvas{min-height:380px}.jj-plinko-launch{min-width:166px;grid-template-columns:36px auto;padding:6px 11px 6px 7px}.jj-plinko-launch>i{width:36px;height:36px}.jj-plinko-launch>i .jj-icon{width:21px;height:21px}.jj-plinko-launch>span{font-size:.6rem}.jj-plinko-launch>small{font-size:.36rem}.jj-plinko-prize{padding:16px 18px;min-width:86%}.jj-aaa .jj-plinko-footer{padding:0 8px;gap:6px}.jj-aaa .jj-paw-dot{width:25px;height:25px}.jj-aaa .jj-plinko-footer>b{font-size:.46rem}.jj-aaa .jj-plinko-roar{padding:5px 7px}.jj-aaa .jj-plinko-roar small{display:none}.jj-aaa .jj-plinko-roar b{font-size:.65rem}
  .jj-aaa .jj-pay-grid{grid-template-columns:1fr 1fr}.jj-aaa .jj-pay-card img{width:44px;height:44px}.jj-aaa .jj-scatter-rule{align-items:flex-start}.jj-aaa .jj-scatter-rule img{width:58px;height:58px}
}
@media(max-height:760px) and (min-width:901px){
  .jj-game.jj-aaa{min-height:680px;grid-template-rows:52px minmax(0,1fr) 124px}.jj-aaa .jj-topbar{height:52px}.jj-aaa .jj-stage{grid-template-rows:65px minmax(0,1fr)}.jj-aaa .jj-control-deck{height:124px;padding-top:7px;padding-bottom:12px}.jj-aaa .jj-session,.jj-aaa .jj-meters,.jj-aaa .jj-bet-control,.jj-aaa .jj-secondary-actions{height:66px}.jj-aaa .jj-spin{width:84px;height:84px}.jj-aaa .jj-title-lockup h1{font-size:2.45rem}.jj-aaa .jj-plinko-bonus{grid-template-rows:65px minmax(0,1fr) 56px}.jj-aaa .jj-plinko-canvas{min-height:390px}
}

/* Motion accessibility and performance fallbacks. */
@media(prefers-reduced-motion:reduce){
  .jj-game.jj-aaa::before,.jj-forest-motion *,.jj-aaa .jj-spin-orbit,.jj-aaa .jj-symbol.win,.jj-aaa .jj-anticipation-rune,.jj-aaa .jj-anticipation-beats i,.jj-aaa .jj-bear-rays,.jj-aaa .jj-bear-rune,.jj-aaa .jj-bear-fog,.jj-plinko-atmosphere *,.jj-aaa .jj-guardian-halo,.jj-aaa .jj-plinko-roar.hot,.jj-aaa .jj-win-emblem{animation:none!important}
  .jj-aaa *{scroll-behavior:auto!important}
}
.jj-reduce-motion .jj-game.jj-aaa::before,.jj-reduce-motion .jj-forest-motion *,.jj-reduce-motion .jj-aaa .jj-spin-orbit,.jj-reduce-motion .jj-aaa .jj-symbol.win,.jj-reduce-motion .jj-aaa .jj-anticipation-rune,.jj-reduce-motion .jj-aaa .jj-anticipation-beats i,.jj-reduce-motion .jj-aaa .jj-bear-rays,.jj-reduce-motion .jj-aaa .jj-bear-rune,.jj-reduce-motion .jj-aaa .jj-bear-fog,.jj-reduce-motion .jj-plinko-atmosphere *,.jj-reduce-motion .jj-aaa .jj-guardian-halo,.jj-reduce-motion .jj-aaa .jj-plinko-roar.hot,.jj-reduce-motion .jj-aaa .jj-win-emblem{animation:none!important}

/* V29 base-layer reset: neutralise legacy flagship layout rules. */
.jj-aaa .jj-stage{
  width:100%;
  height:100%;
  margin:0;
  align-self:stretch;
  justify-self:stretch;
  align-items:stretch;
}
.jj-aaa .jj-cabinet-head{padding:0}
.jj-aaa .jj-reel-window{
  display:block;
  grid-template-columns:none;
}
.jj-aaa .jj-reels{
  min-width:0;
  min-height:0;
}
.jj-aaa .jj-reel-strip{
  gap:0;
  padding:0;
  grid-template-rows:none;
}
.jj-aaa .jj-control-deck{justify-content:stretch}

/* Mobile control deck: keep Auto and Turbo visible instead of clipping them. */
@media(max-width:600px){
  .jj-game.jj-aaa{grid-template-rows:50px minmax(0,1fr) 190px}
  .jj-aaa .jj-control-deck{
    height:190px;
    grid-template-columns:minmax(0,1fr) 92px;
    grid-template-rows:64px 49px 42px;
    gap:7px;
    padding:7px 7px 16px;
  }
  .jj-aaa .jj-meters{grid-column:1;grid-row:1;height:64px}
  .jj-aaa .jj-bet-control{grid-column:1;grid-row:2;height:49px}
  .jj-aaa .jj-spin{grid-column:2;grid-row:1/3;width:82px;height:82px}
  .jj-aaa .jj-secondary-actions{
    position:static;
    grid-column:1/3;
    grid-row:3;
    left:auto;
    right:auto;
    bottom:auto;
    height:42px;
    overflow:visible;
    grid-template-columns:1.18fr 1fr .85fr .85fr;
  }
  .jj-aaa .jj-secondary-actions .jj-action-button{
    height:42px;
    transform:none;
    border-radius:9px;
  }
  .jj-aaa .jj-action-button>small{display:none}
  .jj-aaa .jj-auto-menu{bottom:187px}
}

/* V29 mobile ambient budget: preserve depth while lowering continuous work. */
@media (max-width: 600px) {
  .jj-game.jj-aaa .jj-forest-leaf:nth-of-type(n + 5) { display: none; }
  .jj-game.jj-aaa .jj-fog-layer { filter: blur(22px); opacity: .38; }
}

/* =========================================================
   JUNGLE JACKPOT V29.1 — RESPONSIVE FIT ENGINE
   ---------------------------------------------------------
   The game is rendered on one of several logical artboards
   and proportionally fitted into the real visual viewport.
   Width and height are both considered; the smaller scale
   always wins. Portrait modes reflow controls before fitting
   so touch targets remain usable instead of becoming tiny.
   ========================================================= */
html:has(body.jj-aaa-page){
  width:100%;
  height:100%;
  overflow:hidden;
  overscroll-behavior:none;
  background:#020705;
}
body.jj-aaa-page{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:manipulation;
}
body.jj-aaa-page #slotHolder{
  position:fixed;
  z-index:1;
  left:var(--jj-visual-left,0px);
  top:var(--jj-visual-top,0px);
  width:var(--jj-visual-width,100dvw);
  height:var(--jj-visual-height,100dvh);
  min-width:0;
  min-height:0;
  overflow:hidden;
  display:block;
  background:#020705;
  contain:layout paint style;
}
.jj-viewport{
  position:absolute;
  inset:
    max(0px,env(safe-area-inset-top))
    max(0px,env(safe-area-inset-right))
    max(0px,env(safe-area-inset-bottom))
    max(0px,env(safe-area-inset-left));
  min-width:0;
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
}
.jj-fit-surface{
  position:relative;
  flex:none;
  width:var(--jj-base-width,1600px);
  height:var(--jj-base-height,900px);
  min-width:0;
  min-height:0;
  transform:translateZ(0) scale(var(--jj-fit-scale,1));
  transform-origin:50% 50%;
  will-change:transform;
  contain:layout style;
}
.jj-fit-surface>.jj-game.jj-aaa{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
}
body.jj-aaa-page .fx-canvas{
  left:var(--jj-visual-left,0px);
  top:var(--jj-visual-top,0px);
  width:var(--jj-visual-width,100dvw);
  height:var(--jj-visual-height,100dvh);
  right:auto;
  bottom:auto;
}

/* All logical artboards keep overlays inside the same fitted surface. */
.jj-fit-surface .jj-bear-gate,
.jj-fit-surface .jj-plinko-bonus,
.jj-fit-surface .jj-big-win{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
.jj-fit-surface .jj-dialog{
  max-width:min(920px,calc(100% - 30px));
  max-height:calc(100% - 30px);
}
.jj-fit-surface .jj-dialog-body{
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

/* Remove legacy hard minimums that caused vertical clipping. */
.jj-viewport .jj-game.jj-aaa,
.jj-viewport .jj-stage,
.jj-viewport .jj-cabinet,
.jj-viewport .jj-reel-window,
.jj-viewport .jj-reels,
.jj-viewport .jj-reel,
.jj-viewport .jj-control-deck,
.jj-viewport .jj-plinko-bonus,
.jj-viewport .jj-plinko-shell,
.jj-viewport .jj-plinko-board-wrap,
.jj-viewport .jj-plinko-canvas{
  min-height:0!important;
}
.jj-viewport .jj-plinko-canvas{
  width:100%!important;
  height:100%!important;
  max-width:100%;
  max-height:100%;
}

/* ---------------- Standard landscape, 16:9 ---------------- */
.jj-viewport[data-layout="landscape-standard"] .jj-game.jj-aaa{
  grid-template-rows:58px minmax(0,1fr) 142px!important;
}
.jj-viewport[data-layout="landscape-standard"] .jj-topbar{height:58px!important}
.jj-viewport[data-layout="landscape-standard"] .jj-control-deck{height:142px!important}

/* ---------------- Compact laptop landscape ---------------- */
.jj-viewport[data-layout="landscape-compact"] .jj-game.jj-aaa{
  grid-template-rows:52px minmax(0,1fr) 126px!important;
}
.jj-viewport[data-layout="landscape-compact"] .jj-topbar{height:52px!important}
.jj-viewport[data-layout="landscape-compact"] .jj-stage{
  grid-template-rows:64px minmax(0,1fr)!important;
  padding:0 10px 7px!important;
}
.jj-viewport[data-layout="landscape-compact"] .jj-title-lockup h1{font-size:2.45rem!important}
.jj-viewport[data-layout="landscape-compact"] .jj-control-deck{
  height:126px!important;
  grid-template-columns:minmax(240px,1fr) 165px 98px minmax(270px,350px)!important;
  padding:8px 12px 13px!important;
}
.jj-viewport[data-layout="landscape-compact"] .jj-session{display:none!important}
.jj-viewport[data-layout="landscape-compact"] .jj-meters,
.jj-viewport[data-layout="landscape-compact"] .jj-bet-control,
.jj-viewport[data-layout="landscape-compact"] .jj-secondary-actions{height:70px!important}
.jj-viewport[data-layout="landscape-compact"] .jj-spin{width:86px!important;height:86px!important}

/* ---------------- Tablet / square landscape ---------------- */
.jj-viewport[data-layout="landscape-tablet"] .jj-game.jj-aaa{
  grid-template-rows:54px minmax(0,1fr) 164px!important;
}
.jj-viewport[data-layout="landscape-tablet"] .jj-topbar{height:54px!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-stage{
  grid-template-rows:64px minmax(0,1fr)!important;
  padding:0 10px 8px!important;
}
.jj-viewport[data-layout="landscape-tablet"] .jj-title-lockup h1{font-size:2.45rem!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-control-deck{
  position:relative!important;
  height:164px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 118px!important;
  grid-template-rows:72px 54px!important;
  gap:8px!important;
  padding:9px 12px 18px!important;
}
.jj-viewport[data-layout="landscape-tablet"] .jj-session{display:none!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-meters{grid-column:1;grid-row:1;height:72px!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-bet-control{
  grid-column:1;grid-row:2;height:54px!important;display:flex!important;
  align-items:center!important;justify-content:space-between!important;padding:6px 10px!important
}
.jj-viewport[data-layout="landscape-tablet"] .jj-spin{
  grid-column:2;grid-row:1/3;width:98px!important;height:98px!important;align-self:center!important;justify-self:center!important
}
.jj-viewport[data-layout="landscape-tablet"] .jj-secondary-actions{
  position:absolute!important;left:12px!important;right:142px!important;bottom:7px!important;
  height:0!important;overflow:visible!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:1fr!important;gap:7px!important
}
.jj-viewport[data-layout="landscape-tablet"] .jj-secondary-actions .jj-action-button{
  height:47px!important;transform:translateY(49px)!important
}
.jj-viewport[data-layout="landscape-tablet"] .jj-action-button>small{display:none!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-auto-menu{
  position:fixed!important;left:14px!important;right:14px!important;bottom:158px!important;width:auto!important;transform-origin:bottom center!important
}

/* ---------------- Extremely short phone landscape ---------------- */
.jj-viewport[data-layout="landscape-phone"] .jj-game.jj-aaa{
  grid-template-rows:44px minmax(0,1fr) 102px!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-topbar{
  height:44px!important;padding:0 12px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-back,
.jj-viewport[data-layout="landscape-phone"] .jj-top-actions button{
  height:34px!important;min-width:38px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-brand span,
.jj-viewport[data-layout="landscape-phone"] .jj-demo-pill{display:none!important}
.jj-viewport[data-layout="landscape-phone"] .jj-stage{
  grid-template-rows:38px minmax(0,1fr)!important;
  padding:0 8px 5px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-title-lockup{padding:0 20px 2px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-title-lockup .jj-kicker,
.jj-viewport[data-layout="landscape-phone"] .jj-title-lockup small,
.jj-viewport[data-layout="landscape-phone"] .jj-title-lockup:before,
.jj-viewport[data-layout="landscape-phone"] .jj-title-lockup:after{display:none!important}
.jj-viewport[data-layout="landscape-phone"] .jj-title-lockup h1{font-size:1.75rem!important;line-height:.94!important;margin:0!important}
.jj-viewport[data-layout="landscape-phone"] .jj-cabinet{
  grid-template-rows:34px minmax(0,1fr) 28px!important;border-radius:14px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-cabinet-head>div{padding:0 7px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-cabinet-head span{font-size:.36rem!important}
.jj-viewport[data-layout="landscape-phone"] .jj-cabinet-head b{font-size:.52rem!important}
.jj-viewport[data-layout="landscape-phone"] .jj-reel-window{padding:4px 28px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-lines{width:24px!important;top:4px!important;bottom:4px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-lines.left{left:2px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-lines.right{right:2px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-lines i{width:18px!important;height:18px!important;font-size:.38rem!important}
.jj-viewport[data-layout="landscape-phone"] .jj-payline-layer,
.jj-viewport[data-layout="landscape-phone"] .jj-anticipation{
  left:28px!important;right:28px!important;top:4px!important;bottom:4px!important;width:calc(100% - 56px)!important;height:calc(100% - 8px)!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-status{padding:0 8px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-status b{font-size:.52rem!important}
.jj-viewport[data-layout="landscape-phone"] .jj-status small{font-size:.42rem!important}
.jj-viewport[data-layout="landscape-phone"] .jj-control-deck{
  position:relative!important;height:102px!important;
  grid-template-columns:280px 170px 92px minmax(360px,1fr)!important;
  grid-template-rows:1fr!important;gap:10px!important;padding:8px 12px 11px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-session{display:none!important}
.jj-viewport[data-layout="landscape-phone"] .jj-meters,
.jj-viewport[data-layout="landscape-phone"] .jj-bet-control{height:66px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-bet-control{display:grid!important;grid-template-columns:auto 1fr!important}
.jj-viewport[data-layout="landscape-phone"] .jj-spin{width:82px!important;height:82px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-secondary-actions{
  position:static!important;height:58px!important;display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:1fr!important;gap:6px!important;overflow:visible!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-secondary-actions .jj-action-button{
  height:58px!important;transform:none!important;grid-template-columns:1fr!important;justify-items:center!important;gap:2px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-action-button>small{display:none!important}
.jj-viewport[data-layout="landscape-phone"] .jj-auto-menu{
  position:fixed!important;left:12px!important;right:12px!important;bottom:96px!important;width:auto!important;max-height:410px!important;overflow:auto!important;transform-origin:bottom center!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-legal{display:none!important}

/* ---------------- Portrait phone / tablet reflow ---------------- */
.jj-viewport[data-layout="portrait-phone"] .jj-game.jj-aaa,
.jj-viewport[data-layout="portrait-tablet"] .jj-game.jj-aaa{
  grid-template-rows:54px minmax(0,1fr) 194px!important;
}
.jj-viewport[data-layout="portrait-phone"] .jj-topbar,
.jj-viewport[data-layout="portrait-tablet"] .jj-topbar{
  height:54px!important;padding:0 9px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-brand span,
.jj-viewport[data-layout="portrait-tablet"] .jj-brand span,
.jj-viewport[data-layout="portrait-phone"] .jj-demo-pill,
.jj-viewport[data-layout="portrait-tablet"] .jj-demo-pill{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-back,
.jj-viewport[data-layout="portrait-tablet"] .jj-back{
  width:42px!important;height:40px!important;padding:0!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-back span,
.jj-viewport[data-layout="portrait-tablet"] .jj-back span{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-top-actions,
.jj-viewport[data-layout="portrait-tablet"] .jj-top-actions{gap:4px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-top-actions button,
.jj-viewport[data-layout="portrait-tablet"] .jj-top-actions button{
  width:40px!important;height:40px!important;min-width:40px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-stage,
.jj-viewport[data-layout="portrait-tablet"] .jj-stage{
  grid-template-rows:58px minmax(0,1fr)!important;padding:0 6px 6px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-title-lockup,
.jj-viewport[data-layout="portrait-tablet"] .jj-title-lockup{padding:0 10px 3px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-title-lockup:before,
.jj-viewport[data-layout="portrait-phone"] .jj-title-lockup:after,
.jj-viewport[data-layout="portrait-tablet"] .jj-title-lockup:before,
.jj-viewport[data-layout="portrait-tablet"] .jj-title-lockup:after{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-title-lockup h1{font-size:1.72rem!important}
.jj-viewport[data-layout="portrait-tablet"] .jj-title-lockup h1{font-size:2.3rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-kicker{font-size:.36rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-title-lockup small{font-size:.34rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-cabinet,
.jj-viewport[data-layout="portrait-tablet"] .jj-cabinet{
  grid-template-rows:40px minmax(0,1fr) 32px!important;border-radius:14px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-cabinet-head,
.jj-viewport[data-layout="portrait-tablet"] .jj-cabinet-head{grid-template-columns:.8fr 1.4fr .8fr!important}
.jj-viewport[data-layout="portrait-phone"] .jj-cabinet-head>div{padding:0 5px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-cabinet-head span{font-size:.31rem!important;letter-spacing:.07em!important}
.jj-viewport[data-layout="portrait-phone"] .jj-cabinet-head b{font-size:.45rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-feature-meter b i{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-reel-window{padding:5px 20px!important}
.jj-viewport[data-layout="portrait-tablet"] .jj-reel-window{padding:6px 31px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-lines{width:18px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-lines i{width:15px!important;height:15px!important;font-size:.31rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-payline-layer,
.jj-viewport[data-layout="portrait-phone"] .jj-anticipation{left:20px!important;right:20px!important;width:calc(100% - 40px)!important}
.jj-viewport[data-layout="portrait-tablet"] .jj-payline-layer,
.jj-viewport[data-layout="portrait-tablet"] .jj-anticipation{left:31px!important;right:31px!important;width:calc(100% - 62px)!important}
.jj-viewport[data-layout="portrait-phone"] .jj-status{padding:0 7px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-status b{font-size:.48rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-status small{font-size:.38rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-control-deck,
.jj-viewport[data-layout="portrait-tablet"] .jj-control-deck{
  position:relative!important;height:194px!important;
  grid-template-columns:minmax(0,1fr) 106px!important;
  grid-template-rows:70px 52px 46px!important;
  gap:7px!important;padding:8px 8px 14px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-session,
.jj-viewport[data-layout="portrait-tablet"] .jj-session{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-meters,
.jj-viewport[data-layout="portrait-tablet"] .jj-meters{grid-column:1;grid-row:1;height:70px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-bet-control,
.jj-viewport[data-layout="portrait-tablet"] .jj-bet-control{
  grid-column:1;grid-row:2;height:52px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:6px 9px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-bet-control>div,
.jj-viewport[data-layout="portrait-tablet"] .jj-bet-control>div{grid-template-columns:36px 68px 36px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-bet-control button,
.jj-viewport[data-layout="portrait-tablet"] .jj-bet-control button{height:38px!important;min-width:36px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-spin,
.jj-viewport[data-layout="portrait-tablet"] .jj-spin{
  grid-column:2;grid-row:1/3;width:92px!important;height:92px!important;align-self:center!important;justify-self:center!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-secondary-actions,
.jj-viewport[data-layout="portrait-tablet"] .jj-secondary-actions{
  position:static!important;grid-column:1/3!important;grid-row:3!important;
  left:auto!important;right:auto!important;bottom:auto!important;height:46px!important;overflow:visible!important;
  display:grid!important;grid-template-columns:1.18fr 1fr .86fr .86fr!important;grid-template-rows:1fr!important;gap:6px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-secondary-actions .jj-action-button,
.jj-viewport[data-layout="portrait-tablet"] .jj-secondary-actions .jj-action-button{
  height:46px!important;transform:none!important;border-radius:9px!important;min-width:0!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-action-button>small,
.jj-viewport[data-layout="portrait-tablet"] .jj-action-button>small{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-auto-menu,
.jj-viewport[data-layout="portrait-tablet"] .jj-auto-menu{
  position:fixed!important;left:10px!important;right:10px!important;bottom:190px!important;width:auto!important;max-height:560px!important;overflow:auto!important;transform-origin:bottom center!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-legal{font-size:.28rem!important}

/* ---------------- Plinko fit profiles ---------------- */
.jj-viewport .jj-plinko-bonus{
  overflow:hidden!important;
  box-sizing:border-box;
}
.jj-viewport .jj-plinko-board-wrap{
  isolation:isolate;
  contain:layout paint;
}
.jj-viewport[data-layout="landscape-standard"] .jj-plinko-bonus,
.jj-viewport[data-layout="landscape-compact"] .jj-plinko-bonus{
  grid-template-rows:72px minmax(0,1fr) 60px!important;padding:10px!important;gap:9px!important
}
.jj-viewport[data-layout="landscape-tablet"] .jj-plinko-bonus{
  grid-template-rows:68px minmax(0,1fr) 58px!important;padding:8px!important;gap:8px!important
}
.jj-viewport[data-layout="landscape-tablet"] .jj-plinko-shell{
  grid-template-columns:128px minmax(0,1fr) 164px!important;gap:8px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-bonus{
  grid-template-rows:54px minmax(0,1fr) 46px!important;padding:6px!important;gap:6px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-head{
  grid-template-columns:1fr 110px 150px!important;padding:5px 9px!important;border-radius:11px!important
}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-brand img{width:42px!important;height:42px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-brand h2{font-size:1.05rem!important}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-stat{height:42px!important;padding:0 8px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-shell{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-guardian,
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-info{display:none!important}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-footer{grid-template-columns:auto minmax(0,1fr) auto!important;padding:0 9px!important}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-footer>small{display:none!important}
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-launch{min-width:210px!important;min-height:58px!important}

.jj-viewport[data-layout="portrait-phone"] .jj-plinko-bonus,
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-bonus{
  grid-template-rows:64px minmax(0,1fr) 56px!important;padding:6px!important;gap:6px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-head,
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-head{
  grid-template-columns:1fr 78px 112px!important;padding:6px 7px!important;border-radius:11px!important
}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-brand img{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-brand span{font-size:.34rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-brand h2{font-size:.86rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-stat{height:48px!important;padding:0 5px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-stat span{font-size:.3rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-stat b{font-size:.72rem!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-shell,
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-shell{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-guardian,
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-info,
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-guardian,
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-info{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-footer,
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-footer{grid-template-columns:auto minmax(0,1fr) auto!important;padding:0 8px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-footer>small,
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-footer>small{display:none!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-launch{min-width:190px!important;min-height:54px!important}
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-launch{min-width:230px!important;min-height:60px!important}

/* Canvas overlays and launch controls never escape their board. */
.jj-viewport .jj-plinko-launch-zone,
.jj-viewport .jj-plinko-callout,
.jj-viewport .jj-plinko-prize{max-width:calc(100% - 16px)}
.jj-viewport .jj-plinko-launch{max-width:calc(100% - 16px)}

/* Dialogs use the real viewport because native dialog enters the top layer. */
body.jj-aaa-page .jj-dialog{
  width:min(920px,calc(var(--jj-visual-width,100dvw) - 24px))!important;
  max-width:calc(var(--jj-visual-width,100dvw) - 24px)!important;
  max-height:calc(var(--jj-visual-height,100dvh) - 24px)!important;
  margin:auto!important;
}
body.jj-aaa-page .jj-dialog-body{
  max-height:calc(var(--jj-visual-height,100dvh) - 165px)!important;
}

@media (prefers-reduced-motion:reduce){
  .jj-fit-surface{will-change:auto}
}

/* V29.2 viewport host correction: the fixed host follows the browser viewport
   independently from JavaScript sizing variables. VisualViewport still drives
   fitting, dialogs and overlays, but stale values can no longer self-lock the
   host at a previous orientation or resolution. */
body.jj-aaa-page #slotHolder{
  inset:0!important;
  width:auto!important;
  height:auto!important;
}

/* Tablet landscape controls use a real third row; no translated controls. */
.jj-viewport[data-layout="landscape-tablet"] .jj-game.jj-aaa{
  grid-template-rows:54px minmax(0,1fr) 174px!important;
}
.jj-viewport[data-layout="landscape-tablet"] .jj-control-deck{
  height:174px!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  grid-template-rows:66px 44px 42px!important;
  gap:6px!important;
  padding:7px 10px 9px!important;
}
.jj-viewport[data-layout="landscape-tablet"] .jj-meters{grid-column:1;grid-row:1;height:66px!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-bet-control{grid-column:1;grid-row:2;height:44px!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-spin{
  grid-column:2;grid-row:1/3;width:92px!important;height:92px!important
}
.jj-viewport[data-layout="landscape-tablet"] .jj-secondary-actions{
  position:static!important;
  grid-column:1/3!important;
  grid-row:3!important;
  left:auto!important;right:auto!important;bottom:auto!important;
  height:42px!important;
  overflow:visible!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:1fr!important;
  gap:6px!important;
}
.jj-viewport[data-layout="landscape-tablet"] .jj-secondary-actions .jj-action-button{
  height:42px!important;
  transform:none!important;
}
.jj-viewport[data-layout="landscape-tablet"] .jj-auto-menu{bottom:170px!important}

/* V29.1.2 — transformed-artboard centering correction.
   A transformed element keeps its unscaled grid footprint, therefore grid
   centering can offset the visible surface on narrow or short viewports.
   Absolute 50/50 positioning centers the transformed bounding box itself. */
.jj-viewport{
  display:block!important;
}
.jj-fit-surface{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) scale(var(--jj-fit-scale,1))!important;
  transform-origin:50% 50%!important;
}

/* Legacy narrow-width rules used absolute secondary actions. Reset every
   placement property for the dedicated short-landscape profile. */
.jj-viewport[data-layout="landscape-phone"] .jj-control-deck{
  display:grid!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-secondary-actions{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  align-self:center!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-auto-wrap{
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  height:58px!important;
}

/* Short landscape is a single-row command deck. Explicit placement is
   required because the legacy <=900px rules otherwise keep the portrait
   row assignments even after the surface selects the landscape artboard. */
.jj-viewport[data-layout="landscape-phone"] .jj-control-deck{
  grid-template-rows:minmax(0,1fr)!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-meters{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-bet-control{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-spin{
  grid-column:3!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-secondary-actions{
  grid-column:4!important;
  grid-row:1!important;
}
.jj-viewport[data-layout="landscape-phone"] .jj-secondary-actions .jj-action-button{
  transform:none!important;
  transition-property:background,border-color,box-shadow,color,filter!important;
}

/* Profile changes occur after first paint. Remove transform interpolation on
   reflowed command buttons so they cannot visibly travel from the legacy
   translated mobile position and momentarily leave the viewport. */
.jj-viewport[data-layout="landscape-tablet"] .jj-secondary-actions .jj-action-button,
.jj-viewport[data-layout="portrait-phone"] .jj-secondary-actions .jj-action-button,
.jj-viewport[data-layout="portrait-tablet"] .jj-secondary-actions .jj-action-button{
  transform:none!important;
  transition-property:background,border-color,box-shadow,color,filter!important;
}

/* ========================================================================== 
   NOVABET V29.2 — STABLE MULTI-BALL BONUS + REEL COMPOSITOR FIX
   The transient reel layer is double-buffered: the final strip remains
   painted below it, preventing empty/black frames at animation teardown.
   ========================================================================== */
.jj-aaa .jj-reel{
  isolation:isolate;
  background:linear-gradient(180deg,#06160c,#020805 58%,#06140b);
  contain:layout paint style;
}
.jj-aaa .jj-reel>.jj-reel-strip{
  position:relative;
  z-index:1;
  opacity:1!important;
  filter:none!important;
  transform:translate3d(0,0,0)!important;
  animation:none!important;
  backface-visibility:hidden;
}
.jj-aaa .jj-reel-spin-layer{
  position:absolute;
  z-index:3;
  inset:0;
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  overflow:hidden;
  background:linear-gradient(180deg,#07170d,#020905 55%,#07160c);
  transform:translate3d(0,0,0);
  transform-origin:50% 50%;
  backface-visibility:hidden;
  will-change:transform,filter,opacity;
  opacity:1;
}
.jj-aaa .jj-reel-spin-layer>.jj-symbol{
  flex:0 0 var(--jj-cell-share,33.333333%);
  min-height:0;
}
.jj-aaa .jj-reel-spin-layer.aaa-roll{
  animation:jjAAAReelRoll var(--jj-reel-duration,900ms) cubic-bezier(.12,.74,.17,1) var(--jj-reel-delay,0ms) both;
  filter:blur(1.3px) saturate(.91) brightness(.93);
}
.jj-aaa .jj-reel-spin-layer.settling{
  opacity:0;
  filter:blur(0) saturate(1) brightness(1);
  transition:opacity 105ms linear,filter 105ms ease-out;
}
.jj-aaa .jj-reel.aaa-spinning::before{
  content:"";
  position:absolute;
  z-index:4;
  inset:-8% 0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(134,255,152,.055) 34%,rgba(255,226,120,.065) 50%,rgba(134,255,152,.045) 67%,transparent 100%);
  transform:translate3d(0,-38%,0);
  animation:jjReelVelocitySheen .48s linear infinite;
  mix-blend-mode:screen;
  opacity:.72;
}
@keyframes jjReelVelocitySheen{to{transform:translate3d(0,38%,0)}}
.jj-aaa .jj-reel.aaa-spinning::after{z-index:5}
.jj-aaa .jj-reel.aaa-spinning.anticipation-spin .jj-reel-spin-layer{
  filter:blur(.7px) saturate(1.04) brightness(1.03);
}

/* Bonus cinematic — Nova's guardian forest identity. */
.jj-bonus-open{overflow:hidden!important;overscroll-behavior:none}
.jj-aaa[data-game-state="BONUS_TRIGGERED"] .jj-control-deck,
.jj-aaa[data-game-state="BONUS_TRANSITION_IN"] .jj-control-deck,
.jj-aaa[data-game-state="BONUS_READY"] .jj-control-deck,
.jj-aaa[data-game-state="BONUS_PLAYING"] .jj-control-deck,
.jj-aaa[data-game-state="BONUS_RESOLVING"] .jj-control-deck,
.jj-aaa[data-game-state="BONUS_TRANSITION_OUT"] .jj-control-deck{
  pointer-events:none;
}
.jj-aaa .jj-symbol.is-scatter.bonus-focus{
  z-index:9;
  opacity:1!important;
  filter:brightness(1.36) saturate(1.23) drop-shadow(0 0 12px rgba(255,220,89,.72));
  transform:translateZ(0) scale(.965);
  box-shadow:inset 0 0 0 2px rgba(255,237,142,.9),inset 0 0 34px rgba(255,198,38,.3),0 0 30px rgba(255,207,48,.24);
  animation:jjBonusScatterFocus .78s ease-in-out infinite alternate;
}
@keyframes jjBonusScatterFocus{to{filter:brightness(1.55) saturate(1.3) drop-shadow(0 0 18px rgba(255,225,104,.92));transform:translateZ(0) scale(1)}}
.jj-aaa .jj-bear-gate{
  background:
    radial-gradient(circle at 50% 42%,rgba(99,255,120,.15),transparent 25%),
    radial-gradient(circle at 50% 46%,rgba(255,213,73,.2),rgba(5,20,10,.87) 43%,rgba(0,4,2,.98) 78%);
  perspective:1100px;
}
.jj-aaa .jj-cinematic-shade{
  position:absolute;z-index:0;inset:0;
  background:radial-gradient(ellipse at 50% 47%,transparent 0 24%,rgba(0,5,2,.48) 65%,rgba(0,2,1,.92));
  opacity:0;transition:opacity .7s var(--jj-ease);
}
.jj-aaa .jj-bear-gate.show .jj-cinematic-shade{opacity:1}
.jj-aaa .jj-cinematic-canopy,
.jj-aaa .jj-cinematic-roots{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}
.jj-aaa .jj-cinematic-canopy i,
.jj-aaa .jj-cinematic-roots i{
  position:absolute;display:block;width:44vmax;height:16vmax;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 100%,rgba(20,74,34,.94),rgba(3,21,9,.98) 58%,transparent 61%);
  box-shadow:0 22px 60px rgba(0,0,0,.68),inset 0 -8px 28px rgba(86,207,91,.07);
  opacity:0;
  will-change:transform,opacity;
}
.jj-aaa .jj-cinematic-canopy i:nth-child(1){left:-13%;top:-5%;transform:translate3d(-18%,-45%,0) rotate(16deg)}
.jj-aaa .jj-cinematic-canopy i:nth-child(2){right:-12%;top:-4%;transform:translate3d(18%,-45%,0) rotate(-15deg)}
.jj-aaa .jj-cinematic-canopy i:nth-child(3){left:15%;top:-9%;transform:translate3d(0,-58%,0) rotate(7deg)}
.jj-aaa .jj-cinematic-canopy i:nth-child(4){right:12%;top:-10%;transform:translate3d(0,-58%,0) rotate(-8deg)}
.jj-aaa .jj-cinematic-roots i{width:34vmax;height:12vmax;top:auto;bottom:-4%;background:radial-gradient(ellipse at 50% 0,rgba(48,51,20,.94),rgba(7,20,9,.98) 61%,transparent 64%)}
.jj-aaa .jj-cinematic-roots i:nth-child(1){left:-9%;transform:translate3d(-18%,50%,0) rotate(-12deg)}
.jj-aaa .jj-cinematic-roots i:nth-child(2){right:-9%;transform:translate3d(18%,50%,0) rotate(12deg)}
.jj-aaa .jj-cinematic-roots i:nth-child(3){left:27%;transform:translate3d(0,65%,0) rotate(-5deg)}
.jj-aaa .jj-cinematic-roots i:nth-child(4){right:25%;transform:translate3d(0,65%,0) rotate(6deg)}
.jj-aaa .jj-bear-gate.show .jj-cinematic-canopy i,
.jj-aaa .jj-bear-gate.show .jj-cinematic-roots i{
  opacity:1;transform:translate3d(0,0,0) rotate(0deg);
  transition:transform 1.05s cubic-bezier(.16,.82,.18,1),opacity .56s ease;
}
.jj-aaa .jj-cinematic-fireflies{position:absolute;z-index:4;inset:0;pointer-events:none}
.jj-aaa .jj-cinematic-fireflies i{
  --x:calc(8% + (var(--i) * 7.4%));
  position:absolute;left:var(--x);top:calc(16% + (var(--i) * 5.4%));
  width:3px;height:3px;border-radius:50%;background:#d8ff85;
  box-shadow:0 0 8px #cfff78,0 0 19px rgba(111,255,107,.62);
  opacity:0;transform:translate3d(0,20px,0) scale(.6);
}
.jj-aaa .jj-bear-gate.show .jj-cinematic-fireflies i{
  animation:jjCinematicFirefly calc(2.1s + (var(--i) * .07s)) calc(var(--i) * 45ms) ease-in-out infinite alternate;
}
@keyframes jjCinematicFirefly{0%{opacity:.08;transform:translate3d(-5px,13px,0) scale(.65)}55%{opacity:.9}100%{opacity:.2;transform:translate3d(8px,-14px,0) scale(1.1)}}
.jj-aaa .jj-cinematic-portal{
  position:absolute;z-index:1;left:50%;top:48%;width:min(76vmin,720px);aspect-ratio:1;
  border-radius:50%;transform:translate3d(-50%,-50%,0) scale(.42);opacity:0;
  background:radial-gradient(circle,rgba(144,255,147,.18),rgba(41,132,55,.08) 37%,transparent 68%);
  box-shadow:0 0 0 1px rgba(193,255,169,.14),0 0 90px rgba(85,255,105,.14),inset 0 0 90px rgba(255,219,90,.1);
  will-change:transform,opacity;
}
.jj-aaa .jj-cinematic-portal i{position:absolute;inset:8%;border:1px solid rgba(255,228,121,.28);border-radius:50%;animation:jjPortalRotate 10s linear infinite}
.jj-aaa .jj-cinematic-portal i+ i{inset:18%;border-style:dashed;animation-direction:reverse;animation-duration:7s}
@keyframes jjPortalRotate{to{transform:rotate(1turn)}}
.jj-aaa .jj-bear-gate.portal-open .jj-cinematic-portal{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);transition:transform .82s cubic-bezier(.13,.82,.18,1),opacity .48s ease}
.jj-aaa .jj-bear-gate.returning .jj-cinematic-portal{opacity:1;transform:translate3d(-50%,-50%,0) scale(.92)}
.jj-aaa .jj-bear-gate.returning .jj-bear-portrait{opacity:.42;transform:scale(.82) translateY(5%)}
.jj-aaa .jj-bear-gate.returning .jj-bear-copy{display:none}

/* Multi-ball Plinko presentation and readable four-stat HUD. */
.jj-aaa .jj-plinko-bonus{
  background:
    radial-gradient(circle at 50% 42%,rgba(60,180,74,.13),transparent 42%),
    linear-gradient(180deg,rgba(1,11,5,.97),rgba(0,4,2,.99));
  opacity:0;visibility:hidden;transform:scale(1.025);
  transition:opacity .55s var(--jj-ease),transform .7s var(--jj-ease),visibility .55s;
  overflow:hidden;
}
.jj-aaa .jj-plinko-bonus.show{opacity:1;visibility:visible;transform:none}
.jj-aaa .jj-plinko-bonus.preparing .jj-plinko-head,
.jj-aaa .jj-plinko-bonus.preparing .jj-plinko-shell,
.jj-aaa .jj-plinko-bonus.preparing .jj-plinko-footer{opacity:0;transform:translate3d(0,18px,0) scale(.985)}
.jj-aaa .jj-plinko-bonus.ready .jj-plinko-head,
.jj-aaa .jj-plinko-bonus.ready .jj-plinko-shell,
.jj-aaa .jj-plinko-bonus.ready .jj-plinko-footer{
  opacity:1;transform:none;transition:opacity .52s ease,transform .7s cubic-bezier(.16,.82,.18,1)
}
.jj-aaa .jj-plinko-bonus.leaving{opacity:0;transform:scale(1.028);pointer-events:none}
.jj-aaa .jj-plinko-head{
  grid-template-columns:minmax(240px,1fr) minmax(92px,112px) minmax(92px,112px) minmax(160px,190px);
  gap:8px;
}
.jj-aaa .jj-plinko-stat.active{
  border-color:rgba(100,255,122,.29);
  background:linear-gradient(180deg,rgba(33,93,42,.42),rgba(5,24,11,.68));
}
.jj-aaa .jj-plinko-stat.active b{color:#9dffa7;text-shadow:0 0 15px rgba(98,255,116,.44)}
.jj-aaa .jj-plinko-board-wrap{
  isolation:isolate;
  box-shadow:0 24px 70px rgba(0,0,0,.68),0 0 0 1px rgba(255,219,93,.22),inset 0 0 70px rgba(0,0,0,.45),0 0 40px rgba(82,255,102,.08);
  background:
    radial-gradient(circle at 50% 6%,rgba(255,224,117,.08),transparent 32%),
    linear-gradient(180deg,rgba(13,48,24,.95),rgba(2,17,8,.98));
}
.jj-aaa .jj-plinko-board-wrap::before{
  content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
  background:linear-gradient(112deg,transparent 8%,rgba(255,255,255,.045) 34%,transparent 58%),radial-gradient(ellipse at 50% 105%,rgba(255,198,51,.1),transparent 48%);
  mix-blend-mode:screen;
}
.jj-aaa .jj-plinko-board-wrap::after{
  content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,231,144,.1),inset 0 0 58px rgba(0,0,0,.52);
  border-radius:inherit;
}
.jj-aaa .jj-plinko-canvas{position:relative;z-index:2;touch-action:none;transform:translateZ(0);backface-visibility:hidden}
.jj-aaa .jj-plinko-reward-feed{
  position:absolute;z-index:8;top:12px;right:12px;display:grid;gap:6px;width:min(210px,34%);pointer-events:none;
}
.jj-aaa .jj-plinko-reward{
  display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;
  padding:8px 10px;border:1px solid rgba(255,224,113,.25);border-radius:11px;
  background:linear-gradient(135deg,rgba(15,52,25,.92),rgba(2,15,7,.94));
  box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 18px rgba(100,255,119,.08);
  opacity:0;transform:translate3d(15px,-5px,0) scale(.92);
  animation:jjRewardCardIn .3s cubic-bezier(.18,.9,.2,1.15) forwards,jjRewardCardOut .3s 1.65s ease-in forwards;
}
.jj-aaa .jj-plinko-reward>i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:#17320c;background:radial-gradient(circle at 35% 28%,#fff4a8,#e2a91c 68%,#704007);box-shadow:0 0 14px rgba(255,218,73,.34);font-style:normal;font-size:.58rem;font-weight:950}
.jj-aaa .jj-plinko-reward span{display:block;color:#8ba393;font-size:.4rem;font-weight:850;letter-spacing:.05em}.jj-aaa .jj-plinko-reward b{display:block;color:#fff0a4;font-size:.57rem;margin-top:2px}
.jj-aaa .jj-plinko-reward.extra{border-color:rgba(103,255,126,.42);box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 25px rgba(86,255,110,.16)}
@keyframes jjRewardCardIn{to{opacity:1;transform:none}}
@keyframes jjRewardCardOut{to{opacity:0;transform:translate3d(10px,-8px,0) scale(.96)}}
.jj-aaa .jj-plinko-prize{
  border:1px solid rgba(255,229,134,.36);
  background:radial-gradient(circle at 50% 5%,rgba(103,255,124,.13),transparent 48%),linear-gradient(180deg,rgba(15,50,24,.97),rgba(2,15,7,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.75),0 0 0 2px rgba(35,101,46,.55),0 0 45px rgba(255,216,82,.13),inset 0 0 34px rgba(77,255,103,.06);
}
.jj-aaa .jj-plinko-prize.show{animation:jjPlinkoPrizeEnter .52s cubic-bezier(.18,.88,.2,1.22) both}
.jj-aaa .jj-plinko-prize.leaving{animation:jjPlinkoPrizeLeave .32s ease-in both}
@keyframes jjPlinkoPrizeEnter{0%{opacity:0;transform:translate3d(-50%,-44%,0) scale(.62);filter:brightness(1.8)}62%{transform:translate3d(-50%,-50%,0) scale(1.06)}100%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);filter:none}}
@keyframes jjPlinkoPrizeLeave{to{opacity:0;transform:translate3d(-50%,-58%,0) scale(.94);filter:blur(2px)}}
.jj-plinko-launch{
  min-height:54px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  box-shadow:0 14px 34px rgba(0,0,0,.46),0 0 0 1px rgba(255,234,145,.17),inset 0 1px 0 rgba(255,255,255,.16);
}
.jj-plinko-launch.ready{animation:jjLaunchReady 1.25s ease-in-out infinite alternate}
.jj-plinko-launch.rapid{border-color:rgba(106,255,126,.62);box-shadow:0 14px 34px rgba(0,0,0,.46),0 0 24px rgba(88,255,110,.2),inset 0 1px 0 rgba(255,255,255,.18)}
.jj-plinko-launch:active:not(:disabled){transform:translateY(2px) scale(.965)}
@keyframes jjLaunchReady{to{box-shadow:0 14px 34px rgba(0,0,0,.46),0 0 28px rgba(255,211,70,.2),inset 0 1px 0 rgba(255,255,255,.18)}}
.jj-aaa .jj-plinko-bonus.resolving .jj-plinko-board-wrap{box-shadow:0 24px 70px rgba(0,0,0,.68),0 0 55px rgba(255,218,82,.16),inset 0 0 75px rgba(0,0,0,.42)}
.jj-aaa .jj-plinko-bonus.resolving .jj-plinko-footer{filter:brightness(1.12)}

/* Four-column Plinko HUD across the responsive artboards. */
.jj-viewport[data-layout="landscape-phone"] .jj-plinko-head{grid-template-columns:minmax(165px,1fr) 70px 70px 116px!important;gap:4px!important}
.jj-viewport[data-layout="landscape-tablet"] .jj-plinko-head,
.jj-viewport[data-layout="landscape-compact"] .jj-plinko-head{grid-template-columns:minmax(190px,1fr) 82px 82px 142px!important;gap:5px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-head{grid-template-columns:minmax(118px,1fr) 54px 54px 86px!important;gap:3px!important;padding:5px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-stat{padding:0 3px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-stat span{font-size:.27rem!important;letter-spacing:.035em!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-stat b{font-size:.62rem!important}
.jj-viewport[data-layout="portrait-tablet"] .jj-plinko-head{grid-template-columns:minmax(190px,1fr) 78px 78px 130px!important;gap:5px!important}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-reward-feed{top:7px;right:7px;width:42%;gap:4px}
.jj-viewport[data-layout="portrait-phone"] .jj-plinko-reward{padding:5px 6px;gap:5px;border-radius:8px}.jj-viewport[data-layout="portrait-phone"] .jj-plinko-reward>i{width:22px;height:22px;font-size:.43rem}.jj-viewport[data-layout="portrait-phone"] .jj-plinko-reward b{font-size:.42rem}.jj-viewport[data-layout="portrait-phone"] .jj-plinko-reward span{font-size:.31rem}

/* Automatic quality scaling: visual density drops before animation cadence. */
.jj-aaa[data-fx-tier="low"] .jj-cinematic-fireflies i:nth-child(n+7),
.jj-aaa[data-fx-tier="low"] .jj-cinematic-canopy i:nth-child(n+3),
.jj-aaa[data-fx-tier="low"] .jj-cinematic-roots i:nth-child(n+3){display:none}
.jj-aaa[data-fx-tier="low"] .jj-reel-spin-layer.aaa-roll{filter:blur(.55px) saturate(.95)}
.jj-aaa[data-fx-tier="low"] .jj-plinko-board-wrap,
.jj-aaa[data-fx-tier="low"] .jj-plinko-prize{box-shadow:0 18px 42px rgba(0,0,0,.68),0 0 0 1px rgba(255,220,102,.16),inset 0 0 42px rgba(0,0,0,.42)}
.jj-aaa[data-fx-tier="low"] .jj-cinematic-portal{box-shadow:0 0 0 1px rgba(193,255,169,.12),0 0 45px rgba(85,255,105,.09)}

@media(max-height:620px) and (orientation:landscape){
  .jj-aaa .jj-plinko-reward-feed{top:6px;right:6px;width:24%}
  .jj-aaa .jj-plinko-reward{padding:5px 7px}
  .jj-aaa .jj-plinko-reward>i{width:23px;height:23px}
}
@media(prefers-reduced-motion:reduce){
  .jj-aaa .jj-cinematic-fireflies,.jj-aaa .jj-cinematic-canopy i:nth-child(n+3),.jj-aaa .jj-cinematic-roots i:nth-child(n+3){display:none!important}
  .jj-aaa .jj-reel-spin-layer.aaa-roll{filter:none!important}
  .jj-plinko-launch.ready,.jj-aaa .jj-symbol.is-scatter.bonus-focus{animation:none!important}
}

/* ========================================================================== 
   NOVABET V29.3 — ARTBOARD PROPORTION + SYMBOL COMPOSITION FIX
   The viewport was fitting correctly, but the 1366×768 logical surface left
   too little vertical room for three reel rows. That made square symbol art
   fill very wide cells with object-fit:cover, producing the oversized crops
   visible on 16:9 monitors. These rules preserve the intended game proportions and stop the reel matrix
   from becoming excessively wide compared with its height.
   ========================================================================== */
.jj-fit-surface{
  container-type:size;
  container-name:jj-artboard;
}

/* The regular desktop composition now reserves more vertical room for the
   cabinet and slightly reduces chrome. Ultrawide keeps the same reel width so
   the game gains atmosphere at the sides instead of stretching the symbols. */
.jj-viewport[data-layout="landscape-standard"] .jj-game.jj-aaa,
.jj-viewport[data-layout="landscape-ultrawide"] .jj-game.jj-aaa{
  grid-template-rows:54px minmax(0,1fr) 132px!important;
}
.jj-viewport[data-layout="landscape-standard"] .jj-topbar,
.jj-viewport[data-layout="landscape-ultrawide"] .jj-topbar{height:54px!important}
.jj-viewport[data-layout="landscape-standard"] .jj-stage,
.jj-viewport[data-layout="landscape-ultrawide"] .jj-stage{
  grid-template-rows:72px minmax(0,1fr)!important;
  padding-top:0!important;
  padding-bottom:7px!important;
}
.jj-viewport[data-layout="landscape-standard"] .jj-control-deck,
.jj-viewport[data-layout="landscape-ultrawide"] .jj-control-deck{height:132px!important}
.jj-viewport[data-layout="landscape-standard"] .jj-cabinet,
.jj-viewport[data-layout="landscape-ultrawide"] .jj-cabinet{width:min(1360px,100%)!important}
.jj-viewport[data-layout="landscape-ultrawide"] .jj-plinko-bonus{
  grid-template-rows:72px minmax(0,1fr) 60px!important;
  padding:10px!important;
  gap:9px!important;
}
.jj-viewport[data-layout="landscape-ultrawide"] .jj-plinko-head{
  grid-template-columns:minmax(240px,1fr) 92px 92px 158px!important;
  gap:7px!important;
}

/* Use the logical artboard—not the physical browser width—for internal
   spacing. This prevents a transformed 1600px surface from inheriting huge
   viewport-relative paddings on 4K and ultrawide screens. */
@supports (width:1cqw){
  .jj-fit-surface .jj-stage{padding-left:3.2cqw;padding-right:3.2cqw}
  .jj-fit-surface .jj-title-lockup h1{font-size:clamp(2rem,4cqw,3.55rem)}
  .jj-fit-surface .jj-control-deck{padding-left:max(18px,4cqw);padding-right:max(18px,4cqw)}
  .jj-fit-surface .jj-temple-arch{width:min(1440px,112cqw)}
  .jj-fit-surface .jj-title-lockup:before,
  .jj-fit-surface .jj-title-lockup:after{width:min(18cqw,210px)}
  .jj-fit-surface .jj-plinko-shell{grid-template-columns:minmax(130px,17cqw) minmax(0,1fr) minmax(170px,19cqw)}
}

/* The symbol art remains edge-to-edge, but the reel cells now keep the
   intended aspect ratio. Removing the extra image scale avoids needless crop
   while preserving the original artwork and spinning compositor. */
.jj-aaa .jj-symbol img{
  object-fit:cover;
  object-position:center;
  transform:scale(1.002);
}
.jj-aaa .jj-reel-spin-layer .jj-symbol img{transform:scale(1.002)}

/* Maintain touch target size after the desktop artboard changed from 768px to
   900px logical height. */
.jj-viewport[data-layout="landscape-standard"] .jj-action-button,
.jj-viewport[data-layout="landscape-ultrawide"] .jj-action-button{min-height:54px}

@media(prefers-reduced-motion:reduce){
  .jj-fit-surface{container-type:size}
}


/* ========================================================================== 
   NOVABET V29.4 — REEL MATRIX FIT + SYMBOL CONTAIN FIX
   The problem was not the responsive viewport itself: the reel matrix inside
   the cabinet was still allowed to expand too much horizontally, forcing
   square-ish artwork into wide cells. The matrix is now fitted by ratio inside
   the reel window, and the symbol art scales down to fit instead of cropping.
   ========================================================================== */
.jj-aaa .jj-reel-window{
  container-type:size;
  --jj-reel-matrix-ar: 1.72;
}

.jj-aaa .jj-reels{
  justify-self:center;
  align-self:center;
  width:min(100%, calc(100cqh * var(--jj-reel-matrix-ar)));
  max-width:100%;
  aspect-ratio:var(--jj-reel-matrix-ar);
  height:auto;
}

.jj-aaa .jj-reel{
  min-height:0;
}

.jj-aaa .jj-reel-strip{
  gap:clamp(3px, .45cqh, 5px);
  padding:clamp(3px, .45cqh, 5px);
}

.jj-aaa .jj-symbol{
  padding:clamp(2px, .35cqh, 6px);
  background:
    radial-gradient(circle at 50% 14%, rgba(255,241,180,.08), transparent 45%),
    linear-gradient(180deg, rgba(14,39,23,.78), rgba(4,12,8,.92));
}

.jj-aaa .jj-symbol img,
.jj-aaa .jj-reel-spin-layer .jj-symbol img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  transform:none;
  filter:saturate(1.03) contrast(1.03) drop-shadow(0 10px 10px rgba(0,0,0,.42));
}

.jj-aaa .jj-symbol.is-scatter img,
.jj-aaa .jj-symbol.is-wild img{
  filter:saturate(1.05) contrast(1.04) drop-shadow(0 10px 12px rgba(0,0,0,.48));
}

@media (max-width: 640px){
  .jj-aaa .jj-reel-window{ --jj-reel-matrix-ar: 1.68; }
  .jj-aaa .jj-symbol{ padding:2px; }
}

/* ========================================================================== 
   NOVABET V29.5 — KINETIC REEL MOTION
   Multi-phase compositor animation: acceleration, constant travel, braking,
   overshoot and mechanical snap. The permanent result strip stays rendered
   underneath, so stronger movement never reintroduces the black-frame bug.
   ========================================================================== */
.jj-aaa .jj-reel-spin-layer.aaa-kinetic{
  animation:none!important;
  transform:translate3d(0,0,0);
  will-change:transform,filter;
  backface-visibility:hidden;
  perspective:700px;
}

.jj-aaa .jj-reel-spin-layer.aaa-kinetic::before{
  content:"";
  position:absolute;
  z-index:6;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      transparent 0 7%,
      rgba(185,255,191,.035) 8.5%,
      transparent 10.5% 18%
    );
  mix-blend-mode:screen;
  opacity:.72;
}

.jj-aaa .jj-reel-spin-layer.aaa-kinetic::after{
  content:"";
  position:absolute;
  z-index:7;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.52),transparent 13%,transparent 84%,rgba(0,0,0,.58)),
    linear-gradient(90deg,rgba(255,255,255,.025),transparent 18%,transparent 82%,rgba(0,0,0,.16));
}

.jj-aaa .jj-reel.aaa-spinning{
  border-color:rgba(132,255,151,.38);
  box-shadow:
    inset 0 0 34px rgba(0,0,0,.72),
    inset 0 0 16px rgba(83,255,117,.055),
    0 0 0 1px rgba(0,0,0,.78);
}

.jj-aaa .jj-reel.aaa-spinning::before{
  animation-duration:var(--jj-sheen-speed,430ms)!important;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(125,255,153,.035) 24%,
      rgba(255,231,135,.1) 49%,
      rgba(130,255,155,.045) 72%,
      transparent 100%
    );
  opacity:.82;
}

.jj-aaa .jj-reel.aaa-spinning .jj-symbol{
  border-bottom-color:rgba(218,187,93,.13);
}

.jj-aaa .jj-reel.aaa-spinning .jj-symbol img{
  backface-visibility:hidden;
}

.jj-aaa .jj-reel.anticipation-spin{
  border-color:rgba(255,218,84,.76);
  box-shadow:
    inset 0 0 36px rgba(0,0,0,.67),
    inset 0 0 24px rgba(255,209,66,.09),
    0 0 22px rgba(255,210,60,.17);
}

.jj-aaa .jj-reel.jj-snap-settle{
  animation:jjKineticReelSnap .42s cubic-bezier(.18,.88,.23,1.2) both!important;
}

.jj-aaa .jj-reel.jj-snap-settle>.jj-reel-strip{
  animation:jjKineticSymbolLock .38s cubic-bezier(.17,.84,.24,1.16) both!important;
}

@keyframes jjKineticReelSnap{
  0%{transform:translate3d(0,-7px,0) scaleY(1.024)}
  42%{transform:translate3d(0,3px,0) scaleY(.986)}
  68%{transform:translate3d(0,-1.2px,0) scaleY(1.006)}
  100%{transform:translate3d(0,0,0) scaleY(1)}
}

@keyframes jjKineticSymbolLock{
  0%{filter:brightness(1.1) saturate(1.08)}
  42%{filter:brightness(.96) saturate(.98)}
  100%{filter:brightness(1) saturate(1)}
}

.jj-aaa[data-fx-tier="low"] .jj-reel-spin-layer.aaa-kinetic::before{
  display:none;
}

.jj-aaa[data-fx-tier="low"] .jj-reel.aaa-spinning::before{
  opacity:.42;
}

@media(prefers-reduced-motion:reduce){
  .jj-aaa .jj-reel-spin-layer.aaa-kinetic::before,
  .jj-aaa .jj-reel-spin-layer.aaa-kinetic::after{display:none!important}
  .jj-aaa .jj-reel.jj-snap-settle,
  .jj-aaa .jj-reel.jj-snap-settle>.jj-reel-strip{animation:none!important}
}
