:root{color-scheme:dark;--bg:rgb(3,3,11);--panel:#0a0a16;--gold:#ffc850;--gold-dim:rgba(255,200,80,0.35);--cream:#f6e9c8;--cyan:#7de8ff;--purple:#7a3dff;--pink:#ff739c;--red:#dd1235;--red-deep:#72051b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f5f5f5;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.game-page,body{min-height:100vh}.game-page{background:radial-gradient(ellipse 900px 500px at 15% -10%,rgba(122,61,255,.22),transparent 60%),radial-gradient(ellipse 900px 500px at 85% -10%,rgba(255,200,80,.16),transparent 60%),radial-gradient(ellipse 700px 900px at 50% 120%,rgba(221,18,53,.14),transparent 65%),var(--bg)}@keyframes bulbs{0%{opacity:.28}to{opacity:1}}@keyframes breathe{0%{transform:scale(.85)}to{transform:scale(1.15)}}@keyframes machineWin{0%{filter:brightness(1) drop-shadow(0 0 0 transparent)}50%{filter:brightness(1.35) drop-shadow(0 0 24px gold)}to{filter:brightness(1) drop-shadow(0 0 0 transparent)}}@keyframes spinInvite{0%,75%,to{box-shadow:inset 0 0 0 3px #7e061c,0 7px 0 0 #441018,0 10px 24px 0 rgba(255,28,82,.45)}84%{box-shadow:inset 0 0 0 3px #7e061c,0 7px 0 0 #441018,0 10px 34px 0 rgba(255,61,112,.72)}}@keyframes ctaShine{0%,55%{transform:translateX(-120%)}75%{transform:translateX(120%)}to{transform:translateX(120%)}}@keyframes toastIn{0%{transform:translate(-50%,-12px) scale(.94);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.game-shell{max-width:980px;margin:0 auto;padding:20px 16px 48px}.game-header{justify-content:space-between;padding:12px 4px 20px;flex-wrap:wrap}.game-header,.game-header .brand{display:flex;align-items:center;gap:12px}.game-header .logo-badge{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;background:var(--panel);border:2px solid transparent;background-image:linear-gradient(var(--panel),var(--panel)),conic-gradient(from 0deg,var(--cyan),var(--purple),var(--pink),var(--gold),var(--cyan));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 0 24px 0 rgba(255,47,164,.35)}.game-header .brand-text .eyebrow{display:block;font-size:10px;letter-spacing:.18em;color:#9a9ab0}.game-header .brand-text .title{font-size:18px;font-weight:800;letter-spacing:.04em}.game-header .header-actions{display:flex;align-items:center;gap:8px}.game-header .balance-pill{display:flex;flex-direction:column;line-height:1.1;padding:6px 14px;border-radius:999px;background:rgba(255,200,80,.1);border:1px solid var(--gold-dim)}.game-header .balance-pill .label{font-size:8px;letter-spacing:.14em;color:#b8ab86}.game-header .balance-pill .amount{color:var(--gold);font-weight:700}.free-credits-button{border:none;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:700;letter-spacing:.04em;cursor:pointer;position:relative;overflow:hidden;color:#241300;border-radius:14px;background:linear-gradient(180deg,#ffe6a0,var(--gold));box-shadow:0 0 0 1px rgba(255,212,95,.12),0 0 22px 0 rgba(255,212,95,.22)}.free-credits-button:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.65) 50%,transparent 60%);transform:translateX(-120%);animation:ctaShine 3.4s ease-in-out infinite}.sound-control{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.sound-toggle{display:grid;place-items:center;width:30px;height:30px;padding:0;font-size:14px;line-height:1;cursor:pointer;color:#d8d8e6;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);transition:background .16s ease,box-shadow .16s ease}.sound-toggle:hover{background:rgba(255,212,95,.16)}.sound-toggle:focus-visible,.sound-volume:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.sound-control.muted .sound-toggle{color:#8c8598;background:rgba(255,255,255,.03)}.sound-volume{width:64px;height:4px;appearance:none;-webkit-appearance:none;cursor:pointer;border-radius:999px;background:linear-gradient(90deg,var(--gold),rgba(255,212,95,.25))}.sound-volume:disabled{cursor:default;background:rgba(255,255,255,.12)}.sound-volume::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;border:none;background:#fff3d0;box-shadow:0 0 6px rgba(255,212,95,.7)}.sound-volume:disabled::-webkit-slider-thumb{background:#6b6678;box-shadow:none}.sound-volume::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:none;background:#fff3d0}.jackpot-banner{text-align:center;padding:10px 30px 9px;margin-bottom:12px;border-radius:22px 22px 12px 12px;background:radial-gradient(circle at 50% 0,rgba(122,61,255,.35),rgba(3,3,11,.2));border:none;box-shadow:0 0 0 5px #6c315d,0 0 0 7px #1a0a29,0 0 35px 0 rgba(255,47,164,.65),inset 0 0 28px 0 rgba(255,47,164,.28)}.jackpot-banner .eyebrow{display:block;font-size:12px;letter-spacing:.2em;color:var(--purple);margin-bottom:4px}.jackpot-banner .jackpot-amount{font-size:28px;font-weight:800;color:var(--gold);text-shadow:0 0 12px rgba(255,200,80,.6)}.jackpot-banner .caption{display:block;margin-top:2px;font-size:9px;letter-spacing:.16em;color:#9a86c0}.game-frame{position:relative;padding:34px 28px 26px;border-radius:42px 42px 28px 28px;background:linear-gradient(180deg,#12101c,var(--panel));border:none;box-shadow:0 28px 80px 0 rgba(0,0,0,.72),inset 0 0 0 2px #ffc95f,inset 0 0 32px 0 rgba(255,187,55,.28)}.game-frame.winning{animation:machineWin .9s ease-in-out}.game-frame .marquee{position:absolute;inset:-3px;border-radius:20px;pointer-events:none}.game-frame .marquee span{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold);animation:bulbs 1.2s ease-in-out infinite alternate}.game-title{text-align:center;margin:0 0 16px;font-size:clamp(22px,4.4vw,30px);font-weight:800;line-height:1.1}.game-title .name{letter-spacing:.04em;color:var(--gold);text-shadow:0 1px 0 rgba(0,0,0,.55),0 0 18px rgba(255,200,80,.3)}.game-title .sparkle{display:inline-block;color:var(--cyan);animation:breathe 1.6s ease-in-out infinite alternate;margin:0 8px}.message-bar{text-align:center;font-weight:800;font-family:ui-monospace,SF Mono,monospace;letter-spacing:.12em;margin:14px auto 12px;padding:12px 16px;border-radius:7px;color:var(--cyan);background:rgba(125,232,255,.05);border:1px solid rgba(125,232,255,.35);box-shadow:inset 0 0 16px 0 rgba(35,230,255,.13),0 0 10px 0 rgba(35,230,255,.12)}.reel-window{display:flex;justify-content:center;margin-bottom:18px}.reel-window canvas{border-radius:18px;box-shadow:inset 0 0 0 2px #fff1a9,inset 0 18px 25px 0 rgba(0,0,0,.75),inset 0 -18px 25px 0 rgba(0,0,0,.75),0 0 24px 0 rgba(255,179,44,.24);max-width:100%;height:auto}.controls-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}.controls-row .balance-block{display:flex;flex-direction:column;gap:4px}.controls-row .balance-block .label{font-size:10px;letter-spacing:.14em;color:#9a9ab0}.controls-row .balance-block .amount{font-size:20px;font-weight:800;color:var(--cream)}.controls-row .quick-topup{align-self:flex-start;background:none;border:none;padding:0;color:var(--cyan);font-size:11px;text-decoration:underline;cursor:pointer}.bet-chips{display:flex;flex-direction:column;align-items:center;gap:6px}.bet-chips .label{font-size:10px;letter-spacing:.14em;color:#9a9ab0}.bet-chips .chip-row{display:flex;gap:6px}.chip{border:none;border-radius:8px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer;background:#16141f;color:#d8d8e6;border:1px solid rgba(255,255,255,.08)}.chip.active{background:linear-gradient(180deg,#ffe6a0,var(--gold));color:#241300;box-shadow:0 0 12px 0 rgba(255,212,95,.4)}.demo-scenario{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.1em;color:#6f6f85}.demo-scenario select{background:#14141f;color:#cfcfe0;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:5px 6px;font-size:12px}.info-group{display:flex;align-items:center;gap:8px;align-self:center}.paytable-button{background:transparent;color:var(--cyan);border:1px solid rgba(125,232,255,.4);border-radius:999px;padding:8px 16px;cursor:pointer;transition:border-color .14s ease-out,background-color .14s ease-out}.paytable-button:hover{border-color:var(--cyan);background:rgba(125,232,255,.1)}.howto-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;cursor:pointer;color:var(--gold);background:transparent;border:1px solid var(--gold-dim);transition:border-color .14s ease-out,background-color .14s ease-out,transform .14s ease-out}.howto-button:hover{border-color:var(--gold);background:rgba(255,200,80,.12);transform:translateY(-1px)}.howto-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.howto-button:focus-visible,.modal-close:focus-visible,.modal-tab:focus-visible,.paytable-button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.spin-column{gap:6px}.spin-button,.spin-column{display:flex;flex-direction:column;align-items:center}.spin-button{width:92px;height:92px;border-radius:50%;border:4px solid var(--gold);cursor:pointer;color:#fff;justify-content:center;gap:2px;font-weight:1000;letter-spacing:.05em;background:radial-gradient(circle at 35% 28%,var(--pink),var(--red) 48%,var(--red-deep) 70%);animation:spinInvite 2.6s ease-in-out infinite;transition:transform .12s ease-out}.spin-button:active:not(:disabled){transform:translateY(5px);box-shadow:inset 0 0 0 3px #7e061c,0 2px 0 0 #441018;animation:none}.spin-button .credits{font-size:8px;font-weight:600;opacity:.85}.spin-button:disabled{animation:none;opacity:.7;cursor:default}.free-spin-status{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:14px;padding:10px;border-radius:12px;background:rgba(255,200,80,.08);border:1px solid var(--gold-dim)}.retrigger-toast{position:relative;padding:4px 12px;border-radius:999px;background:var(--red);color:#fff;font-weight:700;animation:toastIn .26s ease-out}.paytable-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);z-index:10}.paytable-modal-inner{background:var(--panel);border:2px solid var(--gold);border-radius:16px;padding:20px;max-width:520px;width:90%;max-height:86vh;overflow-y:auto;box-shadow:0 18px 48px rgba(0,0,0,.6)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.modal-tabs{display:flex;gap:4px;padding:3px;border-radius:999px;background:rgba(255,255,255,.05)}.modal-tab{border:0;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:#b9b9cc;background:transparent;transition:color .14s ease-out,background-color .14s ease-out}.modal-tab:hover{color:var(--cream)}.modal-tab.active{color:#1a1206;background:var(--gold)}.modal-close{border:1px solid rgba(255,255,255,.18);background:transparent;color:#cfcfe0;border-radius:999px;padding:6px 14px;cursor:pointer;transition:border-color .14s ease-out,color .14s ease-out}.modal-close:hover{border-color:var(--cream);color:var(--cream)}.modal-lead{margin:14px 0;font-size:14px;line-height:1.5;color:var(--cream)}.modal-note{margin:14px 0 0;font-size:12px;line-height:1.5;color:#a8a8bd}.payline-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:10px 8px;margin:0 0 20px;padding:0;list-style:none}.payline-diagram{display:flex;flex-direction:column;align-items:center;gap:4px}.payline-grid{position:relative;display:grid;grid-template-columns:repeat(var(--reels),1fr);grid-template-rows:repeat(var(--rows),1fr);gap:2px;width:100%;aspect-ratio:var(--reels) /var(--rows);padding:2px;border-radius:4px;background:rgba(255,255,255,.04)}.payline-cell{border-radius:2px;background:rgba(255,255,255,.07)}.payline-cell.lit{background:rgba(255,200,80,.5);box-shadow:0 0 6px rgba(255,200,80,.45)}.payline-path{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);overflow:visible}.payline-path polyline{fill:none;stroke:var(--pink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.payline-number{font-size:10px;font-weight:700;color:#8f8fa6}.win-rules{margin:0;padding-left:20px;display:grid;gap:10px;font-size:13px;line-height:1.5;color:#d6d6e4}.win-rules strong{color:var(--cream)}.paytable-modal-inner table{width:100%;border-collapse:collapse;margin-top:12px}.paytable-modal-inner td,.paytable-modal-inner th{text-align:center;padding:7px 8px;border-bottom:1px solid rgba(255,200,80,.15)}.paytable-modal-inner th{font-size:11px;letter-spacing:.1em;color:#a8a8bd}.pay-glyph{font-size:18px;margin-right:7px}.pay-code,.pay-glyph{vertical-align:middle}.pay-code{font-size:12px;color:#a8a8bd}.scatter-row td{border-bottom:0}.scatter-row .pay-code{color:var(--cyan)}.verifier-panel{margin-top:20px;padding:16px;border-radius:12px;background:rgba(125,232,255,.05);border:1px solid rgba(125,232,255,.25)}.verifier-panel dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px;word-break:break-all}.verifier-panel dt{color:#9a9ab0}.game-footer{display:flex;gap:12px;margin-top:16px}.game-footer section{flex:1 1;display:flex;align-items:center;gap:10px;padding:10px 13px;min-height:62px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-size:12px;color:#9a9ab0}.game-footer section .icon{font-size:20px}.game-footer section .card-title{display:block;font-size:10px;letter-spacing:.12em}.game-footer section .card-value{display:block;color:#e6e6f0;font-weight:700;margin-top:2px}.mini-paytable{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0 8px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,200,80,.2);background:rgba(255,255,255,.02)}.mini-paytable .combo{font-size:12px;color:#d8d8e6}.mini-paytable .combo .mult{color:var(--gold);font-weight:700;margin-left:4px}.disclosure{text-align:center;font-size:11px;font-style:italic;color:#6f6f85;margin-top:12px}