:root{--bg: #12051f;--bg-2: #1f0a35;--panel: #2a0d4a;--gold: #ffcf3a;--gold-hi: #fff3a0;--gold-deep: #b97800;--red: #ff2d55;--magenta: #ff3df5;--cyan: #2ff3ff;--green: #39ff88;--text: #fff7e8;--muted: #c7b3e6;--wood: #5a2d0c;--chrome: linear-gradient(180deg, #f5f5f5, #9a9a9a 45%, #e0e0e0 55%, #6e6e6e);--display: "Oswald", "Arial Narrow", sans-serif;--western: "Alfa Slab One", Georgia, serif;--body: "Source Sans 3", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{overflow-x:hidden}#app{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:disabled{cursor:default}.btn{border:0;border-radius:999px;padding:12px 20px;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.05em;text-transform:uppercase;transition:transform .1s,filter .15s}.btn:active{transform:scale(.96)}.btn-gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 45%,var(--gold-deep));color:#3a1800;box-shadow:0 0 18px #ffcf3a8c,inset 0 -3px #00000040}.btn-ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.22)}.btn-danger{border-color:#ff2d5599;color:#ff9db0}.icon-btn{border:0;background:#ffffff14;border-radius:50%;width:40px;height:40px;font-size:18px}.tag{font-family:var(--display);font-size:11px;padding:2px 8px;border-radius:6px}.tag-broke{background:var(--red);color:#fff;animation:blink .8s steps(2) infinite}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:min(92vw,420px);padding:12px 18px;border-radius:14px;background:#2b1350;border:1px solid var(--gold);box-shadow:0 8px 30px #0009;z-index:200;text-align:center;animation:toast-in .25s ease-out;transition:opacity .4s,transform .4s}.toast-error{border-color:var(--red);background:#3d0a1d}.toast-out{opacity:0;transform:translate(-50%,20px)}.modal-backdrop{position:fixed;inset:0;background:#05000cc7;display:grid;place-items:center;padding:16px;z-index:150;animation:fade-in .2s}.modal{position:relative;width:min(100%,560px);max-height:calc(100dvh - 32px);overflow-y:auto;background:linear-gradient(180deg,#2a0d4a,#170628);border:2px solid var(--gold);border-radius:18px;padding:20px 18px;box-shadow:0 0 40px #ff3df559}.modal-close{position:sticky;top:0;float:right;border:0;background:var(--gold);color:#3a1800;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;z-index:1}.out-of-order{min-height:100dvh;display:grid;place-content:center;gap:12px;text-align:center;padding:16px}.out-of-order h1{font-family:var(--display);color:var(--red);animation:flicker 3s infinite}@keyframes blink{50%{opacity:.25}}@keyframes fade-in{0%{opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px)}}@keyframes pulse{50%{transform:scale(1.05)}}@keyframes flicker{0%,18%,22%,25%,53%,57%,to{opacity:1}20%,24%,55%{opacity:.35}}@keyframes rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.bulbs,.tile-bulbs{position:absolute;inset:0;border-radius:inherit;padding:9px;pointer-events:none;background:radial-gradient(circle,#fffbd0 0 2.5px,#ffb300 3.5px,rgba(255,179,0,.35) 5px,transparent 6.5px) 0 0 / 18px 18px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:chase .5s steps(2) infinite}@keyframes chase{to{background-position:9px 9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.home{position:relative;min-height:100dvh;max-width:560px;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;isolation:isolate}.home-bg{position:fixed;inset:-20%;z-index:-1;background:radial-gradient(circle at 20% 15%,rgba(255,61,245,.35),transparent 40%),radial-gradient(circle at 85% 30%,rgba(47,243,255,.25),transparent 40%),radial-gradient(circle at 50% 90%,rgba(255,207,58,.25),transparent 45%),var(--bg);animation:bg-drift 14s ease-in-out infinite alternate}@keyframes bg-drift{to{transform:translate(4%,-3%) rotate(6deg);filter:hue-rotate(40deg)}}.home-top{display:flex;align-items:center;gap:10px}.player-name{margin-left:auto;font-weight:600;color:var(--gold-hi)}.neon-sign{margin:6px 0 0;text-align:center;font-family:var(--display);font-weight:400;line-height:.95;font-size:clamp(38px,12vw,64px)}.neon-sign span{display:block}.neon-1{color:#ffe6fd;text-shadow:0 0 4px #fff,0 0 12px var(--magenta),0 0 28px var(--magenta),0 0 48px var(--magenta);animation:flicker 4s infinite}.neon-2{color:#e6feff;text-shadow:0 0 4px #fff,0 0 12px var(--cyan),0 0 28px var(--cyan),0 0 48px var(--cyan);animation:flicker 5.3s 1.1s infinite}.tagline{margin:0;text-align:center;color:var(--gold);font-family:var(--western);letter-spacing:.04em}.balance-card{position:relative;text-align:center;padding:16px;border-radius:20px;background:linear-gradient(160deg,#ffcf3a2e,#ff3df51f);border:2px solid var(--gold);box-shadow:0 0 24px #ffcf3a59,inset 0 0 30px #ffcf3a1f;animation:glow-pulse 2.4s ease-in-out infinite}@keyframes glow-pulse{50%{box-shadow:0 0 44px #ffcf3ab3,inset 0 0 40px #ffcf3a33}}.balance-label{font-family:var(--display);font-size:13px;color:var(--muted);letter-spacing:.12em}.balance-amount{font-family:var(--display);font-size:clamp(40px,13vw,60px);background:linear-gradient(180deg,#fff9d0,var(--gold) 50%,#ff9900);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,207,58,.6));animation:pulse 1.6s ease-in-out infinite}.balance-card.broke{border-color:var(--red);background:linear-gradient(160deg,#ff2d5540,#1e000a66);animation:broke-shake 3s infinite}.balance-card.broke .balance-amount{background:none;color:var(--red);filter:drop-shadow(0 0 12px var(--red))}@keyframes broke-shake{0%,90%,to{transform:none}92%{transform:translate(-6px) rotate(-1deg)}94%{transform:translate(6px) rotate(1deg)}96%{transform:translate(-4px)}}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.stat{display:flex;flex-direction:column;gap:2px;padding:6px 2px;background:#0000004d;border-radius:10px;min-width:0}.stat span{font-size:10px;color:var(--muted);letter-spacing:.05em}.stat b{font-size:13px;overflow:hidden;text-overflow:ellipsis}.status{text-align:center;color:var(--muted)}.status p{margin:0}.status-low p{color:#ffb36b;font-weight:600}.status-topup{padding:12px 14px;border-radius:16px;background:#ffb36b1a;border:2px solid #ffb36b;color:#ffe2c4}.topup-title{margin-bottom:4px;font-family:var(--display);font-size:18px;letter-spacing:.08em;color:#ffb36b}.topup-clock{font-variant-numeric:tabular-nums;color:var(--gold-hi, #ffe27a)}.status-broke .topup{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(255,179,107,.5)}.topup-dig{margin-top:6px!important;color:#ffb36b;font-weight:600}.status-broke{position:relative;padding:18px 14px 14px;border-radius:16px;background:#ff2d551f;border:2px dashed var(--red)}.broke-stamp{display:inline-block;font-family:var(--display);font-size:40px;color:var(--red);border:5px solid var(--red);border-radius:10px;padding:0 14px;transform:rotate(-8deg);text-shadow:0 0 14px rgba(255,45,85,.8);animation:stamp .5s cubic-bezier(.2,1.6,.4,1) both,blink 1.2s 1s steps(2) infinite}@keyframes stamp{0%{transform:rotate(-8deg) scale(3);opacity:0}}.broke-roast{margin-top:10px!important;color:var(--text);font-size:17px;font-weight:600}.broke-help{margin-top:8px!important;font-size:14px}.games{display:grid;gap:14px}.game-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:22px 18px 18px;border:3px solid var(--gold);border-radius:22px;overflow:hidden;text-align:center}.tile-pokies{background:radial-gradient(circle at 50% 0%,rgba(255,207,58,.35),transparent 60%),linear-gradient(180deg,#7a1238,#3b0a52 60%,#1a0630);box-shadow:0 0 30px #ff3df580,0 10px #4d0f2a;animation:tile-bob 2.6s ease-in-out infinite;transition:transform .12s}.tile-pokies:active{transform:translateY(6px) scale(.98);box-shadow:0 0 30px #ff3df580,0 4px #4d0f2a}@keyframes tile-bob{50%{transform:translateY(-4px)}}.tile-symbols{display:flex;gap:4px;justify-content:center}.tile-symbols .sym{width:52px;height:52px;background:radial-gradient(circle,#fff6e0,#e8d8b8);border-radius:10px;animation:sym-hop 1.8s ease-in-out infinite}.tile-symbols .sym:nth-child(2){animation-delay:.15s}.tile-symbols .sym:nth-child(3){animation-delay:.3s}.tile-symbols .sym:nth-child(4){animation-delay:.45s}.tile-symbols .sym:nth-child(5){animation-delay:.6s}@keyframes sym-hop{0%,60%,to{transform:none}30%{transform:translateY(-8px) scale(1.08)}}.tile-name{font-family:var(--display);font-size:clamp(34px,11vw,48px);line-height:1;margin-top:6px;color:var(--gold-hi);text-shadow:0 3px 0 #b33a00,0 0 18px rgba(255,180,0,.9)}.tile-sub{font-size:12px;letter-spacing:.14em;color:var(--muted)}.tile-grand{margin-top:6px;font-family:var(--display);font-size:14px;color:#fff;animation:blink 1s steps(2) infinite}.tile-grand b{color:var(--gold)}.tile-train{width:100%;font-size:26px;white-space:nowrap;animation:train-run 4s linear infinite}@keyframes train-run{0%{transform:translate(110%)}to{transform:translate(-110%)}}.tile-play{margin-top:4px;padding:10px 30px;border-radius:999px;font-family:var(--display);font-size:20px;color:#3a1800;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 45%,var(--gold-deep));box-shadow:0 0 22px #ffcf3acc;animation:pulse .9s ease-in-out infinite}.tile-pokies.locked{filter:grayscale(.7) brightness(.8);animation:none}.tile-pokies.locked .tile-play:after{content:" (BROKE)"}.tile-soon{border-style:dashed;border-color:#ffffff40;background:#ffffff0a;color:var(--muted)}.tile-soon .tile-name{font-size:22px;color:var(--muted);text-shadow:none}.fine-print{margin:0;text-align:center;font-size:12px;color:var(--muted);opacity:.8}.admin-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);border:0;border-radius:14px 0 0 14px;padding:18px 9px;background:linear-gradient(180deg,var(--cyan),#0a8fb0);color:#00222b;font-family:var(--display);font-size:14px;box-shadow:0 0 20px #2ff3ff99;z-index:10}.admin-tab span{writing-mode:vertical-rl;transform:rotate(180deg);display:block;letter-spacing:.1em}.admin{max-width:680px;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 16px 32px}.admin-top{display:flex;align-items:center;gap:12px}.admin-top h1{margin:0;font-family:var(--display);color:var(--gold);text-shadow:0 0 14px rgba(255,207,58,.6)}.admin-intro{color:var(--muted)}.admin-list{display:grid;gap:12px}.admin-empty{color:var(--muted);text-align:center}.admin-row{display:grid;gap:8px;padding:14px;border-radius:14px;background:var(--panel);border:1px solid rgba(255,207,58,.35)}.admin-row.broke{border-color:var(--red);box-shadow:0 0 14px #ff2d5559}.admin-who{display:flex;align-items:center;gap:8px;font-size:18px}.admin-balance{margin-left:auto;font-family:var(--display);color:var(--gold)}.admin-stats{font-size:13px;color:var(--muted)}.admin-set{display:flex;align-items:center;gap:8px}.admin-dollar{font-family:var(--display);color:var(--gold)}.admin-input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#00000059;color:var(--text);font:inherit;font-size:16px}.admin-quick{display:flex;flex-wrap:wrap;gap:6px}.admin-quick .btn{padding:8px 12px;font-size:12px}@media(min-width:900px)and (max-height:820px){.home{max-width:1000px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top top" "sign games" "tag games" "balance games" "status games" "fine fine";grid-template-rows:auto auto auto auto 1fr auto;column-gap:32px;align-content:start}.home-top{grid-area:top}.neon-sign{grid-area:sign;margin-top:0}.tagline{grid-area:tag}.balance-card{grid-area:balance}.status{grid-area:status;align-self:start}.games{grid-area:games;align-self:start}.fine-print{grid-area:fine}}@media(max-width:899px)and (max-height:700px){.home{gap:10px}.neon-sign{margin-top:0;font-size:clamp(32px,9vw,48px)}.tagline{font-size:14px}.balance-card{padding:10px 12px}.balance-amount{font-size:clamp(34px,10vw,48px)}.stats{margin-top:6px}.status-topup{padding:8px 12px}.topup-title{font-size:16px}.game-tile{padding:14px}.tile-symbols .sym{width:44px;height:44px}}@media(min-width:900px){.admin{max-width:1180px}.admin-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}.pokies-screen{position:relative;min-height:100dvh;display:flex;justify-content:center;background:radial-gradient(ellipse at 50% 110%,rgba(255,61,245,.35),transparent 60%),repeating-linear-gradient(45deg,#1a0629 0 14px,#160523 14px 28px);overflow-x:hidden}.cabinet{--fixed: 500px;--w: min(100vw, 520px, max(300px, calc((100dvh - var(--fixed) - 6px) / .72 + 38px)));position:relative;width:var(--w);min-height:100dvh;display:flex;flex-direction:column;gap:6px;padding:max(6px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));background:linear-gradient(90deg,#1c1c22,#3c3c48 6%,#22222a 12% 88%,#3c3c48 94%,#1c1c22);box-shadow:0 0 60px #ff3df559}@media(min-width:540px){.cabinet{--fixed: 524px;min-height:calc(100dvh - 24px);margin-top:12px;border-radius:28px 28px 10px 10px}}.topper{position:relative;flex:1 0 auto;display:flex;flex-direction:column;justify-content:space-evenly;border-radius:22px 22px 8px 8px;padding:12px 12px 8px;background:radial-gradient(ellipse at 50% 30%,rgba(255,140,0,.55),transparent 70%),linear-gradient(180deg,#7a1d0a,#3d0a2a);border:3px solid #d79b2a;box-shadow:inset 0 0 30px #0009,0 0 18px #ffa00073;text-align:center;overflow:hidden}.logo{position:relative}.logo-sub{font-family:var(--western);font-size:11px;color:#ffe2a0;letter-spacing:.15em}.logo-main{font-family:var(--western);font-size:clamp(30px,calc(var(--w) * .11),54px);line-height:1;background:linear-gradient(180deg,#fffbe0,var(--gold) 45%,#ff7a00 60%,#ffd75a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #4a1300) drop-shadow(0 0 10px rgba(255,190,40,.9));animation:logo-glow 1.8s ease-in-out infinite}@keyframes logo-glow{50%{filter:drop-shadow(0 3px 0 #4a1300) drop-shadow(0 0 22px rgba(255,220,90,1));transform:scale(1.03)}}.logo-train{position:absolute;left:0;right:0;bottom:-4px;height:4px;background:repeating-linear-gradient(90deg,#c9a24a 0 6px,transparent 6px 12px);animation:rails .6s linear infinite}@keyframes rails{to{background-position:12px 0}}.jackpots{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}.jackpot{display:flex;flex-direction:column;align-items:center;padding:2px 2px 3px;border-radius:8px;background:#0b0410;border:2px solid currentColor;box-shadow:0 0 8px currentColor,inset 0 0 8px #000c;min-width:0}.jackpot span{font-family:var(--display);font-size:10px;letter-spacing:.08em}.jackpot b{font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums;font-size:13px;color:#fff;text-shadow:0 0 6px currentColor;white-space:nowrap}.jackpot-grand{grid-column:1 / -1;color:var(--gold);animation:jackpot-flash 1.2s steps(2) infinite}.jackpot-grand b{font-size:20px;color:var(--gold-hi)}.jackpot-minor{color:var(--red)}.jackpot-maxi{color:var(--magenta)}.jackpot-major{color:var(--cyan)}.jackpot-mini{color:var(--green)}@keyframes jackpot-flash{50%{box-shadow:0 0 22px currentColor,inset 0 0 12px #ffcf3a66}}.bezel{flex:none;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;background:var(--chrome);box-shadow:inset 0 0 0 2px #0006,0 0 14px #0009}.reel-window{position:relative;flex:none;height:calc((var(--w) - 38px) * .72 + 6px);border-radius:8px;overflow:hidden;background:#0b0410;border:3px solid #602000;box-shadow:inset 0 0 20px #000000e6;perspective:600px}.cabinet.free-mode .reel-window{border-color:var(--cyan);box-shadow:0 0 20px var(--cyan),inset 0 0 20px #000000e6}.free-counter{position:absolute;top:4px;left:50%;transform:translate(-50%);z-index:5;padding:2px 12px;border-radius:999px;background:#050208d9;border:1px solid var(--cyan);font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.08em;color:#e6feff;white-space:nowrap;pointer-events:none}.free-counter:empty{display:none}.cabinet.feature-mode .reel-window{border-color:var(--gold);box-shadow:0 0 26px var(--gold),inset 0 0 20px #000000e6}.reels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:#2a0b10}.reel{position:relative;overflow:hidden;background:linear-gradient(90deg,#cdb98e,#fff7e2 25%,#fffaf0,#fff7e2 75%,#cdb98e)}.reel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 18%,transparent 82%,rgba(0,0,0,.35))}.strip{display:flex;flex-direction:column;height:100%;will-change:transform}.cell{flex:1 1 0;min-height:0;display:grid;place-items:center;padding:4%;transition:opacity .2s,filter .2s}.cell .sym{width:100%;height:100%;max-width:100%}.reels.has-win .cell:not(.win){opacity:.35;filter:grayscale(.6)}.cell.win{position:relative;z-index:1;animation:cell-win .55s ease-in-out infinite alternate}.cell.win:before{content:"";position:absolute;inset:2px;border-radius:6px;border:2px solid var(--gold);box-shadow:0 0 12px var(--gold),inset 0 0 12px #ffcf3a99}@keyframes cell-win{to{transform:scale(1.08);filter:brightness(1.25) drop-shadow(0 0 6px var(--gold))}}.cell.revealed{animation:revealed .6s ease-out}@keyframes revealed{0%{filter:brightness(3)}}.win-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;filter:drop-shadow(0 0 4px rgba(0,0,0,.8))}.banners{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:6}.banner{grid-area:1 / 1;padding:10px 20px;border-radius:16px;text-align:center;background:#0a0214d9;border:3px solid var(--gold);box-shadow:0 0 30px var(--gold);animation:banner-in .45s cubic-bezier(.2,1.6,.4,1) both;transition:opacity .25s,transform .25s}.banner-out{opacity:0;transform:scale(.6)}@keyframes banner-in{0%{transform:scale(0) rotate(-10deg);opacity:0}}.banner-text{font-family:var(--display);font-size:clamp(26px,calc(var(--w) * .1),46px);line-height:1.05;color:var(--gold-hi);text-shadow:0 3px 0 #b33a00,0 0 16px var(--gold);animation:pulse .5s ease-in-out infinite}.banner-sub{font-size:14px;color:var(--text);margin-top:4px}.banner-free{border-color:var(--cyan);box-shadow:0 0 30px var(--cyan)}.banner-free .banner-text{color:#e6feff;text-shadow:0 3px 0 #005a6b,0 0 16px var(--cyan)}.banner-train{animation:banner-in .45s cubic-bezier(.2,1.6,.4,1) both,rainbow 1s linear infinite}.banner-collect{border-color:var(--green);box-shadow:0 0 30px var(--green)}.banner-grand{border-width:5px;animation:banner-in .45s cubic-bezier(.2,1.6,.4,1) both,rainbow .6s linear infinite}.banner-grand .banner-text{font-size:clamp(40px,calc(var(--w) * .16),72px)}.meters{flex:none;display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:4px}.meter{display:flex;flex-direction:column;align-items:center;padding:2px 4px;border-radius:6px;background:#050208;box-shadow:inset 0 0 8px #000000e6;min-width:0}.meter span{font-family:var(--display);font-size:9px;color:#ff5a3a;letter-spacing:.1em}.meter b{font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums;font-size:17px;color:#ff3a1a;text-shadow:0 0 6px #ff3a1a;white-space:nowrap}.meter-win b{color:var(--green);text-shadow:0 0 6px var(--green)}.gamble-view{position:absolute;inset:0;z-index:4;display:none;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;padding:8px;background:radial-gradient(ellipse at 50% 45%,#14783ce6,#063218f7 70%),#063218;border:2px solid #c9a24a;border-radius:6px}.cabinet.gambling .gamble-view{display:flex;animation:gamble-in .25s ease-out}@keyframes gamble-in{0%{opacity:0;transform:scale(.96)}}.gamble-history{display:flex;align-items:center;gap:6px;max-width:100%}.gamble-history-label{font-family:var(--display);font-size:10px;letter-spacing:.1em;color:#ffe2a0}.card-history{display:flex;gap:4px;overflow:hidden}.mini-card{display:flex;flex-direction:column;align-items:center;width:26px;padding:2px 0;border-radius:4px;background:#fff;font-size:13px;line-height:1;box-shadow:0 1px 3px #0009}.mini-card b{font-size:12px}.mini-card.red{color:#d0102a}.mini-card.black{color:#111}.card-slot{flex:1;min-height:0;display:grid;place-items:center;perspective:400px}.gamble-card{height:min(100%,120px);aspect-ratio:5 / 7;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);line-height:1;box-shadow:0 4px 12px #000000b3}.gamble-card.back{background:radial-gradient(circle,transparent 30%,rgba(0,0,0,.2)),repeating-linear-gradient(45deg,#b0102a 0 5px,#d8203c 5px 10px);border:4px solid #fff}.gamble-card.shuffling{animation:card-flip .18s linear infinite}@keyframes card-flip{50%{transform:rotateY(90deg)}}.gamble-card.face{background:#fff;border:1px solid #ccc;animation:card-show .35s ease-out}@keyframes card-show{0%{transform:rotateY(90deg) scale(1.3)}}.gamble-card.face.red{color:#d0102a}.gamble-card.face.black{color:#111}.gamble-card.won{box-shadow:0 0 24px var(--gold),0 4px 12px #000000b3}.gamble-card.lost{filter:brightness(.8)}.card-rank{font-size:clamp(24px,calc(var(--w) * .08),38px)}.card-suit{font-size:clamp(26px,calc(var(--w) * .09),42px)}.gamble-info{font-family:var(--display);font-size:12px;color:var(--gold-hi);letter-spacing:.06em;white-space:nowrap}.gamble-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1.5fr;gap:5px;width:100%}.gamble-btn{height:42px;padding:0;border-radius:10px;border:2px solid rgba(255,255,255,.5);font-family:var(--display);font-size:24px;line-height:1;background:linear-gradient(180deg,#fff,#d8d8d8);box-shadow:0 3px #00000080;min-width:0;animation:gamble-glow 1s ease-in-out infinite}.gamble-btn:nth-child(2n){animation-delay:.5s}.gamble-btn.red.suit{color:#d0102a}.gamble-btn.black.suit{color:#111}.gamble-btn.colour{font-size:14px;letter-spacing:.06em;color:#fff}.gamble-btn.red.colour{background:linear-gradient(180deg,#e8203c,#7a0012)}.gamble-btn.black.colour{background:linear-gradient(180deg,#444,#0a0a0a)}.gamble-btn:active:not(:disabled){transform:translateY(3px);box-shadow:none}.gamble-btn:disabled{animation:none;filter:brightness(.6)}@keyframes gamble-glow{50%{box-shadow:0 3px #00000080,0 0 14px var(--gold);border-color:var(--gold)}}.fountain{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .3s}.fountain.on{opacity:1;background:radial-gradient(ellipse at 50% 100%,#ffbe2859,#0a02148c 70%)}.fcoin{position:absolute;left:50%;bottom:-10%;width:clamp(18px,calc(var(--w) * .07),32px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffbe0,var(--gold) 40%,#a06800 85%);border:2px solid #ffe680;box-shadow:0 0 8px #ffcf3acc}.fcoin:after{content:"$";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:60%;color:#7a4a00}.fountain-tally{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);padding:8px 22px 10px;border-radius:16px;text-align:center;background:#0a0214d9;border:3px solid var(--gold);box-shadow:0 0 30px var(--gold);animation:banner-in .45s cubic-bezier(.2,1.6,.4,1) both}.fountain-label{font-family:var(--display);font-size:13px;letter-spacing:.12em;color:#ffe2a0}.fountain-amount{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:clamp(30px,calc(var(--w) * .12),54px);line-height:1.05;color:var(--gold-hi);text-shadow:0 3px 0 #b33a00,0 0 16px var(--gold);white-space:nowrap}.fountain-amount.done{animation:pulse .5s ease-in-out infinite}.controls{flex:none;display:grid;grid-template-columns:1fr clamp(84px,calc(var(--w) * .24),120px);grid-template-areas:"bet side" "play side";gap:6px;padding:8px;border-radius:12px;background:linear-gradient(160deg,rgba(255,255,255,.1),transparent 40%),linear-gradient(180deg,#2c2c34,#141418);border-top:3px solid #5a5a66;box-shadow:inset 0 6px 12px #0009}.bet-panel{grid-area:bet;display:grid;gap:6px}.bet-row{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:6px}.bet-label{font-family:var(--display);font-weight:600;font-size:10px;letter-spacing:.08em;color:var(--cyan)}.bet-choices{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.bet-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:38px;padding:2px 0;border-radius:8px;border:2px solid #9a9aa6;background:linear-gradient(180deg,#4a4a58,#22222a);color:#fff;font-family:var(--display);font-weight:600;font-size:15px;line-height:1.05;box-shadow:0 3px #111;min-width:0;transition:transform .07s,box-shadow .07s}.bet-choice:active:not(:disabled){transform:translateY(3px);box-shadow:none}.bet-choice.selected{border-color:var(--cyan);background:linear-gradient(180deg,#1d7a9a,#0b3d5a);box-shadow:0 3px #111,0 0 10px #2ff3ff99}.bet-choice:disabled:not(.selected){filter:brightness(.55)}.bet-choice-lines{font-size:17px}.bet-choice-bet{font-size:10px;color:var(--gold-hi);white-space:nowrap}.side-buttons{grid-area:side;display:grid;grid-template-rows:1fr 1fr;gap:6px}.side-btn{padding:0 4px;border-radius:10px;border:2px solid #a07000;font-family:var(--display);font-size:clamp(13px,calc(var(--w) * .035),17px);line-height:1.1;color:#2a1400;background:linear-gradient(180deg,#ffe680,#e0a800);box-shadow:0 4px #3a2a00;transition:transform .07s,box-shadow .07s}.side-btn:active:not(:disabled){transform:translateY(4px);box-shadow:none}.side-btn:disabled{filter:grayscale(1) brightness(.5)}.side-btn.flash{animation:take-flash 1.4s ease-in-out infinite}.gamble-open{border-color:#0a6a30;color:#fff;background:linear-gradient(180deg,#2ecc71,#0a6a30);text-shadow:0 1px 2px #000}.gamble-open.flash{animation-delay:.7s}.gamble-open.open{border-color:var(--gold);box-shadow:0 0 #3a2a00,0 0 16px var(--gold);transform:translateY(4px)}@keyframes take-flash{50%{filter:brightness(1.12);box-shadow:0 4px #3a2a00,0 0 10px #ffcf3a8c}}.play-btn{grid-area:play;height:clamp(52px,calc(var(--w) * .14),70px);padding:0;border-radius:16px;border:3px solid #d0d0d0;background:radial-gradient(ellipse at 50% 15%,rgba(255,255,255,.55),transparent 55%),radial-gradient(ellipse at 50% 60%,#2ecc40,#0d6b17);color:#fff;font-family:var(--display);font-weight:700;font-size:clamp(24px,calc(var(--w) * .07),34px);letter-spacing:.12em;text-shadow:0 2px 2px rgba(0,0,0,.6);box-shadow:0 6px #2a2a2a,inset 0 -6px 10px #0000004d;transition:transform .07s,box-shadow .07s,filter .2s}.play-btn:active{transform:translateY(6px);box-shadow:0 0 #2a2a2a,inset 0 -2px 6px #0000004d}.cabinet.waiting .play-btn{animation:play-ready 1s ease-in-out infinite}@keyframes play-ready{50%{box-shadow:0 6px #2a2a2a,0 0 24px #2ecc40,inset 0 -6px 10px #0000004d;filter:brightness(1.15)}}.cabinet.busy:not(.waiting) .play-btn{filter:brightness(.8)}.cabinet.broke .play-btn,.cabinet.broke .bet-panel{filter:grayscale(1) brightness(.45)}.utility{flex:none;display:flex;gap:6px;padding:4px 2px 0}.util-btn{height:34px;min-width:42px;padding:0 10px;border-radius:8px;border:1px solid #55555f;background:#1a1a20;color:#c8c8d0;font-family:var(--display);font-size:14px}.util-btn:active{background:#2a2a32}.util-lobby{margin-right:auto;font-size:12px;letter-spacing:.06em}.reel-window.feature .reels{visibility:hidden}.aa-board{position:absolute;inset:26px 0 0;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:3px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(201,162,74,.2) 18px 21px),linear-gradient(180deg,#2b1033,#12051f)}.aa-slot{position:relative;display:grid;place-items:center;border-radius:6px;background:#00000073;border:1px solid rgba(255,207,58,.25);min-width:0;min-height:0}.aa-slot.train{background:radial-gradient(circle,#ffcf3a73,#0006)}.aa-window{position:absolute;inset:0;overflow:hidden;border-radius:6px}.aa-window:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 25%,transparent 75%,rgba(0,0,0,.45))}.aa-cell.dark .sym{filter:grayscale(1) brightness(.28)}.aa-cell.lit .sym{filter:drop-shadow(0 0 6px var(--gold)) brightness(1.15)}.aa-slot.collecting{animation:collecting .3s ease-out}@keyframes collecting{50%{transform:scale(1.25);filter:brightness(2)}}.aa-board.aa-grand{animation:rainbow .5s linear infinite}.aa-board.aa-grand .aa-slot{box-shadow:0 0 12px var(--gold)}.coin{width:min(92%,64px);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fff6c0,var(--gold) 40%,#a06800 85%);border:2px solid #ffe680;box-shadow:0 0 10px #ffcf3acc,inset 0 -3px 6px #0000004d;color:#3a1800;font-family:var(--display);line-height:1;text-align:center;animation:coin-shine 2s ease-in-out infinite}@keyframes coin-shine{50%{box-shadow:0 0 18px #ffe678,inset 0 -3px 6px #0000004d}}.coin-value{font-size:clamp(9px,calc(var(--w) * .026),13px)}.coin-level{font-size:clamp(8px,calc(var(--w) * .022),11px);color:#fff;text-shadow:0 1px 2px #000}.coin-Mini{background:radial-gradient(circle at 35% 30%,#d0ffe0,var(--green) 40%,#0a6a30 85%)}.coin-Major{background:radial-gradient(circle at 35% 30%,#d0faff,var(--cyan) 40%,#006a80 85%)}.coin-Maxi{background:radial-gradient(circle at 35% 30%,#ffd8fb,var(--magenta) 40%,#6a0060 85%)}.coin-Minor{background:radial-gradient(circle at 35% 30%,#ffd0da,var(--red) 40%,#6a0010 85%)}.aa-panel{position:absolute;top:0;left:0;right:0;height:26px;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:#050208;font-family:var(--display);font-size:11px}.aa-lamps{display:flex;align-items:center;gap:4px}.aa-lamps-label{color:var(--muted)}.aa-lamp{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#333;color:#777}.aa-lamp.on{background:var(--red);color:#fff;box-shadow:0 0 10px var(--red)}.aa-total{color:var(--gold)}.aa-total b{color:var(--green)}@media(max-height:800px){.cabinet{--fixed: 412px;gap:4px}.topper{padding:6px 10px}.logo-sub{font-size:9px}.logo-main{font-size:clamp(26px,calc(var(--w) * .085),40px)}.jackpots{margin-top:6px;gap:3px}.jackpot{padding:1px 2px 2px}.jackpot span{font-size:9px}.jackpot b{font-size:12px}.jackpot-grand b{font-size:16px}.meter b{font-size:15px}.controls{padding:6px;gap:5px}.bet-panel{gap:5px}.bet-choice{min-height:34px}.play-btn{height:clamp(44px,calc(var(--w) * .12),56px)}.utility{padding-top:2px}.util-btn{height:30px}}@media(max-height:800px)and (min-width:540px){.cabinet{--fixed: 428px;min-height:calc(100dvh - 16px);margin-top:8px}}@media(max-height:640px){.cabinet{--fixed: 372px;gap:3px}.topper{padding:4px 8px 5px}.logo-sub{display:none}.logo-main{font-size:clamp(24px,calc(var(--w) * .08),32px)}.jackpots{margin-top:5px}.jackpot span{font-size:8px}.jackpot-grand b{font-size:14px}.bezel{padding:6px;gap:3px}.reel-window{height:calc((var(--w) - 34px) * .72 + 6px)}.meter span{font-size:8px}.meter b{font-size:14px}.bet-choice{min-height:30px}.play-btn{height:42px}.util-btn{height:28px}}@media(max-height:640px)and (min-width:540px){.cabinet{--fixed: 380px;min-height:calc(100dvh - 8px);margin-top:4px}}.paytable h2,.paytable h3{font-family:var(--display);color:var(--gold);margin:18px 0 8px}.paytable h3{font-size:16px;color:var(--cyan)}.pt-title{text-align:center;font-family:var(--western)!important;font-size:34px;margin-top:0!important}.pt-bet{text-align:center;color:var(--muted);margin:0}.paytable p{margin:0 0 8px;line-height:1.4}.pt-small{font-size:13px;color:var(--muted)}.pt-disclaimer{text-align:center;margin-top:18px!important}.pt-feature{display:flex;gap:12px;align-items:center;margin-bottom:8px}.pay-sym{flex:none;width:56px;height:56px;padding:3px;border-radius:10px;background:linear-gradient(90deg,#e8d8b8,#fffaf0,#e8d8b8)}.pay-sym .sym{width:100%;height:100%}.pt-bonus{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;justify-items:center}.pt-bonus .coin{width:64px}.pt-bonus .coin-value{font-size:11px}.pay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pay-row{display:flex;gap:8px;align-items:center;padding:6px;border-radius:10px;background:#0000004d}.pay-values{font-size:13px}.pay-values b{color:var(--gold)}.lines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}.line-mini{display:flex;flex-direction:column;align-items:center;gap:2px}.line-no{font-size:10px;color:var(--muted)}.line-cells{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;width:100%}.line-cells i{aspect-ratio:1;background:#ffffff1a;border-radius:1px}.line-cells i.on{background:var(--gold);box-shadow:0 0 4px var(--gold)}
