:root{--void:#09000f;--void2:#23002d;--panel:#2d073a;--panel2:#12031c;--ink:#fff8d9;--muted:#ffa6f6;--gold:#ffe142;--hot:#ff276f;--acid:#85ff36;--cyan:#43edff;--tilt:-1deg;--radius:26px;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--void);color:var(--ink)}body{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",Arial,sans-serif;overflow-x:hidden}
button,a{font:inherit}.casino{position:relative;isolation:isolate;min-height:100vh;display:grid;place-items:center;padding:clamp(18px,4vw,60px);overflow:hidden;background:radial-gradient(circle at 50% 10%,color-mix(in srgb,var(--hot) 30%,transparent),transparent 34%),radial-gradient(circle at 8% 60%,color-mix(in srgb,var(--cyan) 20%,transparent),transparent 26%),linear-gradient(145deg,var(--void2),var(--void) 45%,#020006)}
.floor-grid{position:absolute;z-index:-3;left:-15%;right:-15%;bottom:-24%;height:62%;transform:perspective(420px) rotateX(62deg);transform-origin:bottom;background:linear-gradient(90deg,transparent 49%,color-mix(in srgb,var(--hot) 30%,transparent) 50%,transparent 51%) 0 0/74px 100%,linear-gradient(0deg,transparent 49%,color-mix(in srgb,var(--cyan) 28%,transparent) 50%,transparent 51%) 0 0/100% 54px;mask-image:linear-gradient(transparent,#000 40%)}
.bulb-rain i{position:absolute;z-index:-1;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px 4px var(--gold);animation:drift 5s ease-in-out infinite alternate}
.machine{position:relative;width:min(1040px,96vw);filter:drop-shadow(0 35px 40px #000b);transform:rotate(var(--tilt))}
.machine-crown{height:42px;margin:0 10%;display:flex;justify-content:space-around;align-items:center;background:linear-gradient(#fdf295,#d68c0c 46%,#6f2800 51%,#ffc52c);border:4px solid #431106;border-radius:60% 60% 0 0;box-shadow:0 0 24px var(--gold)}.machine-crown i{width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 0 15px 5px var(--hot);animation:blink .7s steps(1) infinite}.machine-crown i:nth-child(even){animation-delay:-.35s;background:var(--cyan)}
.jackpot-sign{position:relative;text-align:center;padding:14px 38px 7px;border:clamp(7px,1vw,12px) ridge var(--gold);border-radius:var(--radius) var(--radius) 8px 8px;background:repeating-linear-gradient(-45deg,var(--panel),var(--panel) 12px,var(--panel2) 12px,var(--panel2) 24px);box-shadow:inset 0 0 28px #000,0 0 36px color-mix(in srgb,var(--hot) 75%,transparent)}
.jackpot-sign::before,.jackpot-sign::after{content:"";position:absolute;inset:8px;border:3px dotted var(--gold);pointer-events:none}.jackpot-sign::after{inset:2px;border-color:var(--hot);filter:drop-shadow(0 0 5px var(--hot))}
#eyebrow{display:inline-block;padding:3px 20px;background:var(--hot);color:#11000a;letter-spacing:.24em;font:900 clamp(10px,1.3vw,15px)/1 Arial,sans-serif;transform:skew(-8deg)}h1{position:relative;margin:6px 0 3px;font-size:clamp(52px,10vw,126px);line-height:.76;letter-spacing:-.04em;text-transform:uppercase;-webkit-text-stroke:clamp(1px,.25vw,4px) var(--gold);color:var(--ink);text-shadow:4px 4px 0 var(--hot),8px 8px 0 #000,0 0 20px var(--gold)}
.ticker-marquee{margin:14px auto 0;max-width:88%;overflow:hidden;border:2px solid var(--gold);background:#050007;color:var(--gold);font:900 14px/1.6 Consolas,monospace;letter-spacing:.13em;white-space:nowrap}.ticker-marquee span{display:inline-block;min-width:max-content;animation:crawl 10s linear infinite}
.cabinet-body{position:relative;display:grid;grid-template-columns:105px minmax(0,1fr) 105px;grid-template-areas:"left reels right" "left msg right" "left bet right" ". social .";gap:12px;padding:24px clamp(14px,4vw,48px) 20px;border:9px ridge color-mix(in srgb,var(--hot) 65%,var(--gold));border-top:0;border-radius:5px 5px 40px 40px;background:linear-gradient(100deg,#190224,var(--panel) 20%,var(--panel2) 50%,var(--panel) 80%,#190224);box-shadow:inset 0 0 50px #000,0 10px 0 #3a0523}
.side-stack{display:flex;flex-direction:column;align-items:center;justify-content:space-around;min-height:470px}.side-left{grid-area:left}.side-right{grid-area:right}.chip{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;border:8px dashed currentColor;background:var(--panel2);color:var(--acid);font-size:36px;box-shadow:0 0 0 5px #08000c,0 0 20px currentColor}.chip-b{color:var(--hot);transform:rotate(11deg)}.chip-c{color:var(--cyan);transform:rotate(-9deg)}.card{display:flex;flex-direction:column;width:65px;height:92px;padding:7px;background:#fff;color:#101010;border:4px solid var(--gold);border-radius:8px;font-size:28px;box-shadow:6px 7px 0 #000;transform:rotate(-9deg)}.card span{align-self:center;font-size:32px}.card-b{color:#e10a43;transform:rotate(8deg)}.card-c{transform:rotate(-3deg)}
.reel-bank{grid-area:reels;position:relative;min-width:0}.reel-glass{display:grid;grid-template-columns:20% 60% 20%;height:clamp(300px,43vw,490px);overflow:hidden;border:10px ridge #fbc53c;border-radius:18px;background:#fff;box-shadow:inset 0 0 35px #0009,0 0 23px var(--hot)}.reel{position:relative;min-width:0;overflow:hidden;border-inline:3px solid #401202;background:repeating-linear-gradient(0deg,#f8e897 0 24%,#fff8d9 25% 49%,#ffd76a 50% 74%,#fff8d9 75% 100%);color:#17100d}.reel-left,.reel-right{display:flex;flex-direction:column;justify-content:space-around;align-items:center;font-size:clamp(50px,9vw,104px);text-shadow:3px 4px 0 var(--hot)}.reel-main{margin:0;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--cyan) 35%,#100018),#09000c)}
.reel-main img{grid-area:1/1;width:100%;height:100%;object-fit:cover}.reel-main #banner-image{opacity:.55;filter:saturate(1.5) contrast(1.2)}.reel-main #hero-image{position:relative;z-index:2;width:86%;height:86%;object-fit:contain;filter:drop-shadow(8px 10px 0 #000)}.reel-main.banner-only #banner-image{opacity:1}.reel-main.banner-only #hero-image{display:none}.media-fallback{grid-area:1/1;display:grid;place-items:center;text-align:center}.media-fallback b{font-size:clamp(100px,19vw,220px);line-height:.7;color:var(--gold);text-shadow:8px 8px 0 var(--hot)}.media-fallback span{font-size:clamp(18px,3vw,34px);letter-spacing:.12em}.reel-main figcaption{position:absolute;z-index:5;left:7%;right:7%;bottom:4%;padding:6px;background:var(--hot);color:#150009;text-align:center;font-size:clamp(13px,2vw,22px);letter-spacing:.13em;transform:skew(-7deg)}
.payline{pointer-events:none;position:absolute;z-index:6;left:-8px;right:-8px;top:50%;height:4px;background:var(--hot);box-shadow:0 0 12px 4px var(--hot)}.reel-labels{display:grid;grid-template-columns:20% 60% 20%;text-align:center;padding:5px 0;background:#09000e;color:var(--acid);font-size:11px;letter-spacing:.15em}
.message-window{grid-area:msg;display:flex;align-items:center;justify-content:center;gap:12px;border:3px inset var(--gold);padding:10px;background:#030006;color:var(--acid);font:900 clamp(13px,2vw,21px)/1.1 Consolas,monospace;letter-spacing:.08em;text-align:center}.message-window p{margin:0}.status-light{width:10px;height:10px;flex:none;border-radius:50%;background:var(--acid);box-shadow:0 0 11px 4px var(--acid);animation:blink .8s steps(1) infinite}
.bet-button{grid-area:bet;position:relative;justify-self:center;width:min(520px,93%);min-height:112px;border:8px ridge var(--gold);border-radius:50%;padding:12px 50px;background:radial-gradient(circle at 50% 25%,#ff748d,var(--hot) 47%,#68001f 51%,#230008);color:#fff;text-shadow:3px 3px 0 #31000e;box-shadow:0 13px 0 #370014,0 18px 22px #000,0 0 27px var(--hot);cursor:pointer;transform:perspective(300px) rotateX(8deg);transition:.12s}.bet-button:hover{filter:brightness(1.2);transform:perspective(300px) rotateX(8deg) translateY(-3px)}.bet-button:active{transform:translateY(8px);box-shadow:0 4px 0 #370014}.bet-button span,.bet-button strong,.bet-button small,.bet-button em{display:block}.button-kicker{font:900 10px/1 Arial,sans-serif;letter-spacing:.25em}.bet-button strong{font-size:clamp(20px,4vw,42px);line-height:1}.bet-button small{max-width:80%;margin:3px auto 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px Consolas,monospace}.bet-button em{position:absolute;right:10%;top:16px;color:var(--acid);font:900 10px Arial,sans-serif}
.social-tray{grid-area:social;display:flex;justify-content:center;gap:12px}.social-tray a{display:flex;align-items:center;gap:9px;padding:8px 16px;border:3px solid var(--cyan);background:#06000b;color:var(--ink);text-decoration:none;box-shadow:4px 4px 0 var(--cyan);font:900 12px Arial,sans-serif;letter-spacing:.1em}.social-tray a:hover{background:var(--cyan);color:#020407}.social-tray b{font-size:20px}
.payout-strip{overflow:hidden;margin:4px 5% 0;border:5px ridge var(--gold);background:#080008;color:var(--gold);box-shadow:0 0 20px var(--hot);white-space:nowrap;font:900 clamp(14px,2.3vw,23px)/1.8 Consolas,monospace;letter-spacing:.14em}.payout-strip div{display:inline-block;min-width:max-content;animation:crawl 14s linear infinite}.machine-feet{display:flex;justify-content:space-between;margin:0 13%}.machine-feet i{width:90px;height:20px;background:linear-gradient(#d99510,#512000);border-radius:0 0 30px 30px}
.composition-side .cabinet-body{grid-template-columns:80px minmax(0,1fr) 150px}.composition-side .reel-glass{grid-template-columns:14% 72% 14%}.composition-diamond .reel-bank{transform:rotate(.7deg)}.composition-diamond .reel-main{clip-path:polygon(8% 0,92% 0,100% 10%,100% 90%,92% 100%,8% 100%,0 90%,0 10%)}.composition-max h1{font-style:italic;transform:scaleX(1.07)}.composition-max .jackpot-sign{border-radius:50% 50% 8px 8px}.frame-round .reel-glass{border-radius:42% 42% 14px 14px}.frame-cut .reel-glass{clip-path:polygon(3% 0,97% 0,100% 8%,100% 92%,97% 100%,3% 100%,0 92%,0 8%)}
@keyframes crawl{to{transform:translateX(-50%)}}@keyframes blink{50%{opacity:.25}}@keyframes drift{to{transform:translateY(24px) scale(1.5)}}
@media(max-width:720px){.casino{padding:14px 7px}.machine{width:100%;transform:none}.jackpot-sign{padding-inline:12px}.cabinet-body{grid-template-columns:30px minmax(0,1fr) 30px;padding:14px 6px;gap:5px;border-width:6px}.side-stack{min-height:300px}.chip{width:29px;height:29px;border-width:3px;font-size:13px;box-shadow:0 0 0 2px #000}.card{width:27px;height:42px;padding:2px;border-width:2px;font-size:11px;box-shadow:2px 3px 0 #000}.card span{font-size:12px}.reel-glass{height:330px;border-width:6px;grid-template-columns:13% 74% 13%}.reel-main #hero-image{width:94%;height:94%}.bet-button{min-height:92px;padding-inline:25px}.social-tray{flex-wrap:wrap}.social-tray a{padding:7px 10px}.machine-feet i{width:55px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}
