:root{--ink:#fff;--ink-2:#d9cfee;--muted:#a99bc4;--surface:#14051f;--panel:#ffffff12;--panel-2:#ffffff1f;--line:#ffffff24;--gold:#ffd23f;--gold-2:#ff9f1c;--pink:#ff4fa3;--cyan:#00e5ff;--good:#3ddc84;--bad:#ff5c7a;--chart-line:#ffd23f;--cell:min(17vw, 112px, calc((100dvh - 330px) / 3));--font-display:"Bungee", "Rubik", system-ui, sans-serif;--font-ui:"Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;--emoji:"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--surface);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;color:inherit}h1,h2,h3{margin:0}.muted{color:var(--muted)}.error{color:var(--bad);font-weight:600}.hint{color:var(--gold);margin:4px 0 0;font-size:14px}.loading{text-align:center;color:var(--muted);padding:40px}.screen{isolation:isolate;min-height:100dvh;position:relative}.screen.boot{place-items:center;font-size:80px;animation:1s ease-in-out infinite pulse;display:grid}.fx-canvas{pointer-events:none;z-index:1000;width:100vw;height:100vh;position:fixed;inset:0}.btn{cursor:pointer;background:var(--panel-2);border:none;border-radius:999px;padding:10px 18px;font-weight:700;transition:transform .12s,background .2s,box-shadow .2s,opacity .2s}.btn:hover:not(:disabled){background:#fff3;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{color:#3b1d00;text-shadow:0 1px #ffffff80;background:linear-gradient(#ffe066,#ffb703 55%,#f48c06);box-shadow:0 4px #b35c00,0 8px 24px #ffb70359}.btn.primary:hover:not(:disabled){background:linear-gradient(#fff08a,#ffc61a 55%,#ff9d17)}.btn.ghost{border:1px solid var(--line);background:0 0}.btn.icon{width:42px;height:42px;font-size:18px;font-family:var(--emoji);padding:0}.btn.big{padding:16px 28px;font-size:20px}.btn.tiny{padding:4px 10px;font-size:16px}.btn.round{background:linear-gradient(#ffffff40,#ffffff14);border:1px solid #ffffff40;width:44px;height:44px;padding:0;font-size:24px;line-height:1}.btn.pill{letter-spacing:.05em;border:1px solid var(--line);padding:8px 14px;font-size:13px}.btn.pill.on{background:var(--accent,var(--gold));color:#1a0d00;box-shadow:0 0 18px var(--accent,var(--gold))}.avatar{font-family:var(--emoji);background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--c) 55%, white), var(--c) 60%, color-mix(in srgb, var(--c) 60%, black));box-shadow:0 0 0 2px #ffffff59, 0 4px 14px color-mix(in srgb, var(--c) 50%, transparent);border-radius:50%;flex:none;place-items:center;display:inline-grid}.coin-icon{vertical-align:-.12em;background:radial-gradient(circle at 35% 30%,#fff6b0,#ffd23f 45%,#c98a00);border-radius:50%;width:1em;height:1em;margin-right:.35em;display:inline-block;box-shadow:inset 0 0 0 .09em #a86b00}.logo{font-family:var(--font-display);letter-spacing:.02em;flex-direction:column;align-items:center;font-size:clamp(48px,13vw,92px);line-height:.95;display:flex}.logo span:first-child{background:linear-gradient(#fff3a8,#ffd23f 45%,#ff8a00);color:#0000;filter:drop-shadow(0 0 18px #ffc40099);-webkit-background-clip:text;background-clip:text}.logo span:last-child{background:linear-gradient(#ffd1ea,#ff4fa3 50%,#b5179e);color:#0000;filter:drop-shadow(0 0 18px #ff4fa3b3);-webkit-background-clip:text;background-clip:text}.logo.small{cursor:pointer;flex-direction:row;gap:8px;font-size:24px}.ambient{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.ambient span{font-family:var(--emoji);opacity:0;animation:linear infinite drift-up;position:absolute;bottom:-60px}@keyframes drift-up{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:.55}90%{opacity:.4}to{transform:translate(var(--drift), -115vh) rotate(200deg);opacity:0}}.login{background:radial-gradient(at 20% 0,#ff4fa359,#0000 50%),radial-gradient(at 90% 100%,#00e5ff40,#0000 50%),linear-gradient(#2a0a45,#14051f);place-items:center;padding:24px 16px;display:grid}.login-card{text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(560px,100%);display:flex}.tagline{color:var(--ink-2);margin:-6px 0 6px;font-size:18px}.login h2{font-size:22px}.player-list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;width:100%;display:grid}.player-pick{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;font-weight:700;transition:transform .15s,background .2s,box-shadow .2s;display:flex}.player-pick:hover{background:var(--panel-2);box-shadow:0 8px 30px color-mix(in srgb, var(--c,#fff) 40%, transparent);transform:translateY(-3px)}.player-pick span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.avatar.plus{--c:#5b4a7a;width:56px;height:56px;font-size:28px;font-family:var(--font-ui)}.new-player{flex-direction:column;align-items:stretch;gap:12px;width:100%;display:flex}.name-row{align-items:center;gap:12px;display:flex}.name-row input{min-width:0;font:700 22px var(--font-ui);border:2px solid var(--line);color:var(--ink);background:#0000004d;border-radius:16px;outline:none;flex:1;padding:14px 18px}.name-row input:focus{border-color:var(--pink);box-shadow:0 0 0 4px #ff4fa340}.picker-label{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:13px;font-weight:700}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.avatar-grid button{aspect-ratio:1;background:var(--panel);font-size:24px;font-family:var(--emoji);cursor:pointer;border:2px solid #0000;border-radius:12px}.avatar-grid button.on{border-color:var(--gold);background:#ffd23f2e}.color-row{flex-wrap:wrap;gap:8px;display:flex}.color-row button{cursor:pointer;border:3px solid #0000;border-radius:50%;width:34px;height:34px}.color-row button.on{border-color:#fff;box-shadow:0 0 0 2px #0006,0 0 14px #fff9}.fineprint{color:var(--muted);font-size:12px}.app-shell{background:radial-gradient(at 0 0,#ff4fa340,#0000 45%),radial-gradient(at 100% 30%,#7c4dff40,#0000 50%),linear-gradient(#1f0836,#14051f 60%);flex-direction:column;display:flex}.topnav{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#14051fbf;align-items:center;gap:16px;padding:10px 16px;display:flex;position:sticky;top:0}.topnav nav{flex:1;justify-content:center;gap:4px;display:flex;overflow-x:auto}.tab{cursor:pointer;white-space:nowrap;color:var(--ink-2);background:0 0;border:none;border-radius:999px;padding:9px 14px;font-weight:700}.tab:hover{background:var(--panel)}.tab.on{color:#fff;background:linear-gradient(#ff6fb5,#d6338a);box-shadow:0 4px 16px #ff4fa366}.me{align-items:center;gap:10px;display:flex}.me-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:800;overflow:hidden}.me-balance{font-family:var(--font-display);color:var(--gold);font-size:14px}.page{flex:1;width:min(1200px,100%);margin:0 auto;padding:24px 16px 40px}.footer{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 16px;font-size:13px;display:flex}.section-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);margin-bottom:12px;font-size:18px;font-weight:400}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;margin-top:18px;padding:18px}.jackpots{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.jackpot{text-align:center;background:linear-gradient(180deg, var(--jp-a), var(--jp-b));box-shadow:inset 0 1px 0 #fff6, 0 6px 20px color-mix(in srgb, var(--jp-a) 35%, transparent);border-radius:16px;padding:10px 12px;position:relative;overflow:hidden}.jackpot:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff59 50%,#0000 70%);animation:4s ease-in-out infinite shine;position:absolute;inset:0;transform:translate(-100%)}.jp-grand{--jp-a:#ffcf33;--jp-b:#d9480f}.jp-major{--jp-a:#c061ff;--jp-b:#5b17a6}.jp-minor{--jp-a:#29b6ff;--jp-b:#0b4f9c}.jp-mini{--jp-a:#2fd47a;--jp-b:#0b6b39}.jp-grand:after{animation-delay:0s}.jp-major:after{animation-delay:.6s}.jp-minor:after{animation-delay:1.2s}.jp-mini:after{animation-delay:1.8s}.jp-label{font-family:var(--font-display);letter-spacing:.12em;text-shadow:0 2px #0000004d;font-size:13px}.jp-value{font-family:var(--font-display);text-shadow:0 2px #00000059,0 0 16px #ffffff59;white-space:nowrap;font-size:clamp(16px,3.2vw,28px);display:block}.jp-grand .jp-value{font-size:clamp(18px,3.8vw,34px)}.jackpots.compact{gap:6px}.jackpots.compact .jackpot{border-radius:12px;padding:5px 6px}.jackpots.compact .jp-label{font-size:10px}.jackpots.compact .jp-value,.jackpots.compact .jp-grand .jp-value{font-size:clamp(12px,2.6vw,18px)}@keyframes shine{0%,60%{transform:translate(-100%)}to{transform:translate(100%)}}.lobby{flex-direction:column;gap:26px;display:flex}.hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.hello{font-family:var(--font-display);font-size:clamp(26px,5vw,40px);font-weight:400}.wave{font-family:var(--emoji);transform-origin:70% 70%;animation:2s ease-in-out infinite wave;display:inline-block}@keyframes wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-8deg)}}.bonus-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;align-items:center;gap:14px;padding:12px 14px 12px 12px;display:flex}.bonus-card.ready{background:linear-gradient(135deg,#ffd23f40,#ff4fa333);border-color:#ffd23f99;box-shadow:0 0 30px #ffd23f40}.bonus-icon{font-size:34px;font-family:var(--emoji)}.bonus-card.ready .bonus-icon{animation:1.4s ease-in-out infinite wiggle}.bonus-title{font-weight:800}.bonus-sub{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:14px}@keyframes wiggle{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-12deg)scale(1.1)}75%{transform:rotate(12deg)scale(1.1)}}.lobby-main{grid-template-columns:1fr 300px;align-items:start;gap:24px;display:grid}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.theme-card{cursor:pointer;background:var(--bg);text-align:center;border:none;border-radius:24px;flex-direction:column;align-items:center;gap:6px;padding:20px 16px 16px;transition:transform .2s cubic-bezier(.3,1.5,.6,1),box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 3px #0000,0 10px 30px #00000073}.theme-card:before{content:"";border-radius:inherit;background:var(--frame);-webkit-mask-composite:xor;pointer-events:none;padding:3px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.theme-card:hover{box-shadow:0 0 40px color-mix(in srgb, var(--glow) 55%, transparent), 0 16px 40px #00000080;transform:translateY(-6px)scale(1.02)}.tc-icon{font-size:54px;font-family:var(--emoji);filter:drop-shadow(0 6px 10px #0006);transition:transform .3s}.theme-card:hover .tc-icon{transform:scale(1.15)rotate(-6deg)}.tc-reels{background:#00000059;border-radius:12px;gap:6px;padding:6px;display:flex}.tc-reels span{background:var(--tile);width:46px;height:46px;font-size:28px;font-family:var(--emoji);border-radius:9px;place-items:center;display:grid}.tc-reels span.text{font-family:var(--font-display);color:#1b1b1b;font-size:18px}.tc-name{font-family:var(--font-display);text-shadow:0 3px 0 #00000059, 0 0 20px var(--glow);margin-top:4px;font-size:22px}.tc-sub{color:#ffffffd9;text-shadow:0 1px 2px #0009;font-size:14px}.tc-play{letter-spacing:.08em;color:#1a0d00;background:var(--accent);border-radius:999px;margin-top:8px;padding:6px 16px;font-size:13px;font-weight:800;box-shadow:0 4px 14px #00000059}.feed ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.feed-item{background:var(--panel);border-radius:14px;align-items:center;gap:10px;padding:10px;font-size:14px;animation:.4s ease-out slide-in;display:flex}.feed-item.kind-jackpot{background:linear-gradient(135deg,#ffd23f47,#ff4fa32e);border:1px solid #ffd23f80}.feed-meta{color:var(--muted);margin-top:2px;font-size:12px}.feed-amount{color:var(--gold);font-weight:800}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}}.game{padding:max(10px, env(safe-area-inset-top)) 12px max(28px, env(safe-area-inset-bottom));background:var(--bg);background-attachment:fixed;flex-direction:column;align-items:center;gap:10px;display:flex;overflow:hidden}.game>:is(.game-top,.jackpots,.machine-wrap,.controls){width:min(760px,100%)}.game-top .btn{white-space:nowrap}.game-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.top-actions{gap:6px;display:flex}.top-actions .btn,.game-top>.btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000059}.balance-pill{white-space:nowrap;font-family:var(--font-display);color:var(--gold);text-shadow:0 0 12px #ffd23f80;font-variant-numeric:tabular-nums;background:#00000073;border:1px solid #fff3;border-radius:999px;padding:6px 18px;font-size:clamp(18px,4.5vw,26px)}.machine-wrap{flex:1;justify-content:center;align-items:center;display:flex}.machine{background:var(--frame);box-shadow:0 0 0 2px #ffffff40 inset, 0 0 60px color-mix(in srgb, var(--glow) 50%, transparent), 0 25px 60px #0000008c;border-radius:30px;padding:10px;transition:box-shadow .4s;position:relative}.machine.free-spins{animation:1.6s ease-in-out infinite fs-glow}@keyframes fs-glow{50%{box-shadow:0 0 0 2px #fff6 inset, 0 0 110px var(--glow), 0 25px 60px #0000008c}}.marquee{text-align:center;background:#0a0414d9;border-radius:22px 22px 10px 10px;margin-bottom:8px;padding:8px 12px 10px;position:relative;overflow:hidden}.bulbs{pointer-events:none;background:radial-gradient(circle, var(--accent) 0 3px, transparent 4px) 0 0 / 22px 100% repeat-x, radial-gradient(circle, var(--accent2) 0 3px, transparent 4px) 11px 0 / 22px 100% repeat-x;opacity:.9;background-position-y:-14px,-14px;border-radius:18px 18px 6px 6px;animation:.9s steps(2,end) infinite bulbs;position:absolute;inset:4px}@keyframes bulbs{50%{filter:hue-rotate(40deg)brightness(1.5);opacity:.6}}.machine-title{font-family:"Bungee Shade", var(--font-display);color:var(--accent);text-shadow:0 0 10px var(--glow), 0 0 30px var(--glow);white-space:nowrap;margin-top:6px;font-size:clamp(22px,6vw,40px);font-weight:400;line-height:1.15}.fs-banner{font-family:var(--font-display);color:#1a0d00;background:var(--accent);border-radius:999px;margin-top:4px;padding:3px 12px;font-size:clamp(11px,2.8vw,15px);animation:1s ease-in-out infinite pulse;display:inline-block}.reels{grid-template-columns:repeat(5, var(--cell));background:#080310eb;border-radius:18px;gap:6px;padding:8px;display:grid;position:relative;box-shadow:inset 0 6px 20px #000c}.reel{height:calc(var(--cell) * 3);background:var(--tile);border-radius:12px;position:relative;overflow:hidden;box-shadow:inset 0 14px 18px -10px #00000073,inset 0 -14px 18px -10px #00000073}.reel:after{content:"";pointer-events:none;background:linear-gradient(#0000002e,#0000 18% 82%,#00000038);position:absolute;inset:0}.reel.anticipate{box-shadow:0 0 0 3px var(--accent), 0 0 30px 6px var(--glow);animation:.3s ease-in-out infinite alternate anticipate}@keyframes anticipate{to{box-shadow:0 0 0 3px #fff, 0 0 50px 12px var(--glow)}}.reel-inner{position:absolute;inset:0}.strip{will-change:transform;position:absolute;top:0;left:0;right:0}.strip.blur .glyph{filter:blur(1.5px);transform:scaleY(1.15)}.cell{height:var(--cell);place-items:center;display:grid;position:relative}.glyph{font-family:var(--emoji);font-size:calc(var(--cell) * .62);filter:drop-shadow(0 3px 3px #0000004d);line-height:1;transition:transform .2s}.cell.text .glyph{font-family:var(--font-display);font-size:calc(var(--cell) * .36);color:#161616;letter-spacing:-.04em;filter:drop-shadow(0 2px #00000026)}.cell.text .glyph.red{color:#d81b3a}.cell.tier-high:before,.cell.tier-wild:before,.cell.tier-scatter:before{content:"";z-index:0;border-radius:22%;position:absolute;inset:8%}.cell.tier-high:before{background:radial-gradient(circle,#ffffffd9,#0000 70%)}.cell.tier-wild:before{background:radial-gradient(circle at 50% 40%,#fff6b0,#ffc400 55%,#e07a00);box-shadow:inset 0 0 0 3px #ffffffb3,0 0 12px #ffaa00b3}.cell.tier-scatter:before{background:radial-gradient(circle at 50% 40%,#ffe3f3,#ff4fa3 60%,#9c1468);box-shadow:inset 0 0 0 3px #ffffffb3,0 0 12px #ff4fa3b3}.cell .glyph,.cell .ribbon{z-index:1;position:relative}.ribbon{font-family:var(--font-display);font-size:calc(var(--cell) * .13);color:#fff;letter-spacing:.05em;background:linear-gradient(#ff3d6e,#b5003a);border-radius:6px;padding:1px 6px;bottom:10%;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #00000059;position:absolute!important}.tier-scatter .ribbon{background:linear-gradient(#7c4dff,#3f1dcb)}.reels.has-wins .cell:not(.win){opacity:.45;filter:saturate(.4);transition:opacity .3s,filter .3s}.cell.win{z-index:2}.cell.win .glyph{animation:.7s ease-in-out infinite alternate win-pop}.cell.win:after{content:"";border:3px solid var(--accent);box-shadow:0 0 14px var(--glow), inset 0 0 14px var(--glow);border-radius:18%;animation:.7s ease-in-out infinite alternate win-border;position:absolute;inset:4%}.cell.scatter-win:after{border-color:#ff4fa3}@keyframes win-pop{0%{transform:scale(1)}to{transform:scale(1.18)rotate(-4deg)}}@keyframes win-border{to{box-shadow:0 0 26px var(--glow), inset 0 0 20px var(--glow);border-color:#fff}}.paylines{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0}.paylines polyline{fill:none;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #000000b3)drop-shadow(0 0 8px);stroke-dasharray:2000;stroke-dashoffset:2000px;opacity:.9;animation:.6s ease-out forwards draw-line}@keyframes draw-line{to{stroke-dashoffset:0}}.controls{flex-direction:column;align-items:center;gap:10px;display:flex}.win-meter{background:#00000073;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:12px;min-height:48px;padding:6px 22px;display:flex}.win-meter .label{color:var(--ink-2);font-weight:700}.win-meter .value{font-family:var(--font-display);color:var(--gold);text-shadow:0 0 14px #ffd23fb3;font-size:26px}.control-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;display:grid}.bet-box{background:#00000073;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:6px;display:flex}.bet-value{text-align:center;min-width:64px}.bet-value .label{letter-spacing:.12em;color:var(--muted);font-size:11px;font-weight:800}.bet-value .value{font-family:var(--font-display);font-size:20px}.toggles{flex-direction:column;justify-self:end;gap:6px;display:flex}.toggles .btn{background:#00000073}.spin-btn{aspect-ratio:1;cursor:pointer;width:clamp(92px,24vw,120px);font-family:var(--font-display);color:#3b1d00;box-shadow:0 0 0 5px #ffffffd9, 0 0 0 9px var(--accent2,#ff4fa3), 0 8px 0 9px #00000059, 0 0 50px 10px color-mix(in srgb, var(--glow,#ffd23f) 60%, transparent);background:radial-gradient(circle at 50% 30%,#fff6b0,#ffd23f 40%,#ff9f1c 70%,#d9480f);border:none;border-radius:50%;font-size:clamp(20px,5vw,26px);transition:transform .1s,filter .2s;animation:2.2s ease-in-out infinite spin-breathe;position:relative}.spin-btn span{text-shadow:0 2px #fff9}.spin-btn:hover:not(:disabled){filter:brightness(1.1)}.spin-btn:active:not(:disabled){transform:scale(.94)}.spin-btn:disabled{cursor:default;filter:saturate(.6)brightness(.85);animation:none}.spin-btn.spinning span{animation:.6s linear infinite spin-label;display:inline-block}@keyframes spin-breathe{50%{transform:scale(1.04)}}@keyframes spin-label{to{transform:rotate(360deg)}}.shake-big .machine{animation:.4s shake}.shake-mega{animation:.6s shake}.shake-epic{animation:.7s shake-hard}@keyframes shake{20%{transform:translate(-6px,3px)rotate(-.5deg)}40%{transform:translate(6px,-3px)rotate(.5deg)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}@keyframes shake-hard{15%{transform:translate(-12px,6px)rotate(-1deg)}30%{transform:translate(12px,-6px)rotate(1deg)}45%{transform:translate(-10px,4px)}60%{transform:translate(8px,-4px)}80%{transform:translate(-4px,2px)}}@keyframes pulse{50%{transform:scale(1.06)}}.celebration{z-index:900;cursor:pointer;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.cel-backdrop{background:radial-gradient(circle,#1e0a328c,#05000ce0);animation:.3s ease-out fade-in;position:absolute;inset:0}.cel-jackpot .cel-backdrop{background:#000;animation:1.4s ease-out forwards lights-out}@keyframes lights-out{0%{opacity:0}30%{opacity:1}to{opacity:.92;background:radial-gradient(circle,#3c1400b3,#000 70%)}}.spotlight{background:radial-gradient(circle,#fff0b48c,#0000 14%);animation:1.4s ease-in-out forwards spotlight;position:absolute;inset:-50%}@keyframes spotlight{0%{opacity:0;transform:translate(-30%,-20%)}20%{opacity:1}60%{transform:translate(25%,10%)}to{opacity:.5;transform:translate(0)scale(3)}}.rays{background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--glow) 32%, transparent) 0deg 8deg, transparent 8deg 20deg);width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;animation:18s linear infinite rays-spin,.6s ease-out fade-in;position:absolute;top:50%;left:50%;-webkit-mask:radial-gradient(circle,#000 0%,#0000 45%);mask:radial-gradient(circle,#000 0%,#0000 45%)}.cel-jackpot .rays{background:repeating-conic-gradient(#ffd23f66 0deg 6deg,#0000 6deg 15deg);animation:10s linear infinite rays-spin,.6s ease-out 1.2s both fade-in}@keyframes rays-spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}.cel-content{z-index:2;text-align:center;padding:16px;animation:.6s cubic-bezier(.2,1.6,.4,1) both slam;position:relative}.cel-jackpot .cel-content{animation-delay:1.3s}@keyframes slam{0%{opacity:0;transform:scale(3)}}.cel-title{font-family:var(--font-display);background:linear-gradient(#fff 0%,#fff3a8 25%,#ffd23f 50%,#ff8a00 75%,#ff4f00 100%);color:#0000;filter:drop-shadow(0 6px #7a2b00)drop-shadow(0 0 30px #ffb400cc);-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,11vw,110px);line-height:1;animation:1s ease-in-out infinite alternate title-bounce;position:relative}.cel-mega .cel-title{filter:drop-shadow(0 6px #5e0b4a)drop-shadow(0 0 34px #ff4fa3e6);background-image:linear-gradient(#fff,#ffd1ea 25%,#ff4fa3 55%,#b5179e)}.cel-epic .cel-title{filter:drop-shadow(0 6px #1d0f5c)drop-shadow(0 0 40px #00e5ffe6);background-image:linear-gradient(#fff,#c9f7ff 25%,#00e5ff 50%,#7c4dff 100%)}.cel-freespins-intro .cel-title,.cel-freespins-total .cel-title{filter:drop-shadow(0 6px #2b0a52)drop-shadow(0 0 34px #b388ffe6);background-image:linear-gradient(#fff,#e3d6ff 25%,#b388ff 55%,#6a1fb0)}@keyframes title-bounce{to{transform:scale(1.06)rotate(-1.5deg)}}.cel-amount{font-family:var(--font-display);color:#fff;text-shadow:0 0 20px var(--glow), 0 0 50px var(--glow), 0 6px 0 #0006;font-variant-numeric:tabular-nums;margin-top:10px;font-size:clamp(44px,12vw,120px);line-height:1.1}.cel-sub{margin-top:4px;font-size:clamp(18px,4vw,26px);font-weight:800}.cel-skip{color:#fff9;margin-top:26px;font-size:14px;animation:1s 2s both fade-in}.jp-badge{font-size:clamp(60px,15vw,120px);font-family:var(--emoji);filter:drop-shadow(0 0 30px #ffd23fe6);animation:2s ease-in-out infinite badge-spin}@keyframes badge-spin{50%{transform:scale(1.15)rotate(10deg)}}.celebration.calm .rays,.celebration.calm .cel-title,.celebration.calm .jp-badge,.celebration.calm .spotlight{animation:none}.fx-wave{pointer-events:none;height:45vh;animation:3.5s ease-in-out both wave-rise;position:absolute;inset:auto 0 0}.fx-wave svg{fill:#00c8dc8c;width:200%;height:100%;animation:2.4s linear infinite wave-slide;position:absolute;bottom:0}.fx-wave svg.back{fill:#78f0ff59;animation-duration:3.6s;animation-direction:reverse}@keyframes wave-rise{0%{transform:translateY(100%)}35%,70%{transform:translateY(15%)}to{transform:translateY(100%)}}@keyframes wave-slide{to{transform:translate(-50%)}}.fx-balloons span{font-size:clamp(36px,7vw,64px);font-family:var(--emoji);filter:hue-rotate(calc(var(--i) * 47deg));animation:4.5s ease-in both balloon;position:absolute;bottom:-80px}@keyframes balloon{0%{transform:translate(0)}50%{transform:translate(20px,-60vh)rotate(8deg)}to{transform:translate(-20px,-130vh)rotate(-8deg)}}.fx-jets .jet{justify-content:flex-end;align-items:center;width:40%;height:60px;animation:1.6s ease-in both jet;display:flex;position:absolute;left:-40%}.fx-jets .plane{font-size:54px;font-family:var(--emoji);transform:rotate(45deg)}.fx-jets .trail{filter:blur(2px);background:linear-gradient(90deg,#0000,#fffc);border-radius:8px;flex:1;height:8px}@keyframes jet{to{transform:translate(350%)}}.fx-crown{font-size:clamp(90px,22vw,180px);font-family:var(--emoji);filter:drop-shadow(0 0 40px #ffd700e6);animation:1.1s cubic-bezier(.3,1.6,.5,1) .2s both crown-drop,2s ease-in-out 1.3s infinite alternate crown-float;position:absolute;top:8%;left:50%;transform:translate(-50%)}@keyframes crown-drop{0%{transform:translate(-50%,-120%)rotate(-30deg)}}@keyframes crown-float{to{transform:translate(-50%,-12px)rotate(4deg)}}.fx-cards{position:absolute;top:50%;left:50%}.fx-cards .card{color:#161616;width:70px;height:100px;font-family:var(--font-display);background:linear-gradient(160deg,#fff,#eee);border-radius:10px;place-items:center;margin:-50px 0 0 -35px;font-size:24px;animation:.9s cubic-bezier(.2,1.2,.4,1) both card-fan;display:grid;position:absolute;box-shadow:0 6px 16px #00000080}.fx-cards .card.red{color:#d81b3a}@keyframes card-fan{0%{opacity:0;transform:rotate(0)translateY(0)scale(.3)}to{transform:rotate(var(--a)) translateY(-34vmin)}}.fx-flash{pointer-events:none;position:absolute;inset:0}.fx-flash .flashes{opacity:0;background:#fff;animation:1.2s step-end 3 flash;position:absolute;inset:0}@keyframes flash{0%{opacity:.6}8%{opacity:0}40%{opacity:.35}45%{opacity:0}}.fx-flash span{font-size:44px;font-family:var(--emoji);opacity:0;animation:1.8s ease-out infinite pop-flash;position:absolute}@keyframes pop-flash{0%{opacity:0;transform:scale(.4)}15%{opacity:1;filter:drop-shadow(0 0 30px #fff);transform:scale(1.1)}60%{opacity:0}to{opacity:0}}.wheel-overlay{z-index:900;background:radial-gradient(circle,#3c0a50cc,#05000cf2);flex-direction:column;justify-content:center;align-items:center;gap:18px;animation:.4s ease-out fade-in;display:flex;position:fixed;inset:0}.wheel-title{font-family:var(--font-display);background:linear-gradient(#fff,#ffd23f 50%,#ff8a00);color:#0000;filter:drop-shadow(0 4px #7a2b00)drop-shadow(0 0 24px #ffb400cc);-webkit-background-clip:text;background-clip:text;font-size:clamp(30px,8vw,64px);animation:.8s ease-in-out infinite pulse}.wheel-wrap{aspect-ratio:1;filter:drop-shadow(0 0 40px #ffd23f73);width:min(84vw,62vh,460px);position:relative}.wheel-wrap.landed{animation:.5s ease-in-out 3 pulse}.wheel{width:100%;height:100%}.wheel-pointer{z-index:2;filter:drop-shadow(0 3px 4px #0009);border-top:36px solid #fff;border-left:18px solid #0000;border-right:18px solid #0000;width:0;height:0;margin-left:-18px;position:absolute;top:-14px;left:50%}.wheel-label{font-family:var(--font-display);fill:#fff;paint-order:stroke;stroke:#0006;stroke-width:2px;font-size:12px}.wheel-amount{font-family:var(--font-display);fill:#fff;font-size:9px}.wheel-bulb{fill:#fff6b0;animation:.6s steps(2,end) infinite bulb}@keyframes bulb{50%{fill:#ff4fa3}}.modal{z-index:950;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05000cbf;place-items:center;padding:16px;animation:.2s fade-in;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:linear-gradient(#2a0f45,#1a0730);border-radius:24px;width:min(560px,100%);max-height:88dvh;padding:22px;position:relative;overflow-y:auto;box-shadow:0 30px 80px #0009}.modal-card h2{font-family:var(--font-display);font-weight:400}.modal-card h3{font-family:var(--font-display);margin-top:18px;font-size:16px;font-weight:400}.modal-card .close{position:absolute;top:12px;right:12px}.pay-grid{flex-direction:column;gap:6px;display:flex}.pay-row{background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 10px;display:flex}.pay-row.special{margin-top:8px;font-size:14px}.pay-sym{width:44px;height:44px;font-size:28px;font-family:var(--emoji);background:#fff;border-radius:10px;flex:none;place-items:center;display:grid}.pay-sym.text{font-family:var(--font-display);color:#161616;font-size:16px}.pay-sym.red{color:#d81b3a}.pay-name{flex:1;min-width:0}.pay-vals{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-left:auto;font-size:13px;display:flex}.pay-vals b{color:var(--gold)}.jp-odds{grid-template-columns:1fr 1fr;gap:8px;display:grid}.jp-odd{background:linear-gradient(180deg, var(--jp-a), var(--jp-b));border-radius:12px;padding:8px 12px;font-size:14px}.stats-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.stats-head h1,.leaders-page h1{font-family:var(--font-display);font-size:clamp(26px,5vw,36px);font-weight:400}.stats-head select{font:600 15px var(--font-ui);background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:12px;margin-left:auto;padding:10px 14px}.stat-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:18px 0 8px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.stat-value{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:22px;overflow:hidden}.stat-value.pos{color:var(--good)}.stat-value.neg{color:var(--bad)}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}.two-col>.panel{margin-top:18px}.jp-won{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.jp-won-item{text-align:center;background:linear-gradient(180deg, var(--jp-a), var(--jp-b));border-radius:14px;padding:10px}.jp-count{font-family:var(--font-display);font-size:22px}.sub-title{color:var(--muted);margin:16px 0 8px;font-size:14px;font-weight:700}.achievements{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.achievement{opacity:.45;filter:grayscale();background:#ffffff0a;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.achievement.earned{opacity:1;filter:none;background:linear-gradient(135deg,#ffd23f2e,#ff4fa31f);border:1px solid #ffd23f59}.ach-icon{font-size:26px;font-family:var(--emoji)}.ach-name{font-size:14px;font-weight:800}.ach-desc{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:8px;font-size:12px}td{white-space:nowrap;border-bottom:1px solid #ffffff0d;padding:8px}.num{text-align:right;font-variant-numeric:tabular-nums}tr.won td.num:nth-child(4){color:var(--gold);font-weight:700}.tag{font-family:var(--font-display);background:linear-gradient(180deg, var(--jp-a), var(--jp-b));border-radius:999px;padding:2px 8px;font-size:11px}.chart{position:relative}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart .grid{stroke:#ffffff14;stroke-width:1px}.chart .axis{fill:var(--muted);font-size:11px;font-family:var(--font-ui)}.chart .line{fill:none;stroke:var(--chart-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .crosshair{stroke:#ffffff59;stroke-dasharray:3 3}.chart .dot{fill:var(--chart-line);stroke:var(--surface);stroke-width:2px}.chart-tip{border:1px solid var(--line);color:var(--ink-2);pointer-events:none;white-space:nowrap;background:#0a0414eb;border-radius:10px;flex-direction:column;align-items:center;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:0;transform:translate(-50%)}.chart-tip b{color:var(--ink);font-size:15px}.tabs{gap:6px;margin:16px 0;padding-bottom:4px;display:flex;overflow-x:auto}.board{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.board-row{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:18px;align-items:center;gap:14px;padding:12px 16px;transition:transform .15s,background .2s;display:flex}.board-row:hover{background:var(--panel-2);transform:translate(4px)}.board-row.me{border-color:#ff4fa399;box-shadow:0 0 20px #ff4fa333}.board-row.place-1{background:linear-gradient(90deg, #ffd23f40, var(--panel))}.place{text-align:center;width:34px;font-family:var(--font-display);font-size:20px}.board-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:18px;font-weight:800;overflow:hidden}.board-value{font-family:var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums;font-size:20px}.fame{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.fame-card{background:linear-gradient(160deg, var(--jp-a), var(--jp-b));box-shadow:0 10px 30px color-mix(in srgb, var(--jp-a) 30%, transparent);border-radius:20px;padding:16px}.fame-tier{font-family:var(--font-display);letter-spacing:.1em}.fame-amount{font-family:var(--font-display);text-shadow:0 3px #0000004d;font-size:30px}.fame-who{align-items:center;gap:8px;margin-top:6px;font-weight:800;display:flex}.fame-meta{opacity:.85;margin-top:4px;font-size:13px}.toasts{z-index:1100;pointer-events:none;flex-direction:column;gap:8px;width:min(340px,100vw - 24px);display:flex;position:fixed;top:12px;right:12px}.toast{border:1px solid var(--line);background:#1e0a32f2;border-radius:16px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;animation:.4s cubic-bezier(.2,1.4,.4,1) toast-in;display:flex;box-shadow:0 10px 30px #00000080}.toast.kind-jackpot{border-color:var(--gold);background:linear-gradient(135deg,#7a4a00,#a01560)}.toast.error{border-color:var(--bad);background:#5a0d22}.toast-amount{font-family:var(--font-display);color:var(--gold)}@keyframes toast-in{0%{opacity:0;transform:translate(40px)scale(.9)}}@media (width<=900px){.lobby-main,.two-col{grid-template-columns:1fr}}@media (width<=640px){.topnav{flex-wrap:wrap;gap:8px}.topnav nav{flex-basis:100%;order:3;justify-content:flex-start}.topnav .me{margin-left:auto}.tab{padding:8px 10px;font-size:14px}.game-top>.btn{padding:8px 12px;font-size:14px}.balance-pill{padding:6px 12px}.jackpots:not(.compact){grid-template-columns:repeat(2,1fr)}.reels{gap:4px;padding:5px}.machine{border-radius:22px;padding:7px}.control-row{gap:6px}.bet-box{gap:4px}.btn.round{width:36px;height:36px}.bet-value{min-width:48px}.bet-value .value{font-size:16px}.toggles .btn{padding:6px 10px;font-size:11px}.jp-won{grid-template-columns:repeat(2,1fr)}.pay-vals{gap:6px;font-size:12px}}@media (prefers-reduced-motion:reduce){.ambient,.bulbs,.jackpot:after{animation:none!important}}
