.slot-tabs{max-width:760px;margin:0 auto 18px;justify-content:center}
.slot-tabs .key{flex:1}
.cabinet{--c1:#b71c1c;--c2:#5d0d0d;--trim:#f5d27a;max-width:880px;margin:0 auto;padding:22px 26px 26px;border-radius:34px 34px 22px 22px;position:relative;
  background:linear-gradient(180deg,var(--c1),var(--c2));box-shadow:0 30px 60px rgba(0,0,0,.7),inset 0 0 0 4px var(--trim),inset 0 0 0 9px rgba(0,0,0,.35),inset 0 20px 40px rgba(255,255,255,.12)}
.cabinet.t-gems{--c1:#5e35b1;--c2:#1a0b3d;--trim:#e1bee7}
.cabinet.t-neon{--c1:#14141c;--c2:#08080c;--trim:#00e5ff;box-shadow:0 30px 60px rgba(0,0,0,.7),inset 0 0 0 3px var(--trim),0 0 30px rgba(0,229,255,.35),inset 0 0 40px rgba(255,64,129,.2)}
.marquee{position:relative;text-align:center;padding:16px 10px 18px;margin-bottom:16px;border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.25),rgba(0,0,0,.35));box-shadow:inset 0 0 0 3px rgba(0,0,0,.4)}
.marquee h2{position:relative;z-index:1;margin:0;font:800 clamp(30px,5vw,52px)/1 Georgia,serif;letter-spacing:.06em;background:linear-gradient(180deg,#fff7d6,#f5c542 55%,#b8860b);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 3px rgba(0,0,0,.6))}
.t-neon .marquee h2{background:none;color:#fff;text-shadow:0 0 6px #ff4081,0 0 18px #ff4081,0 0 36px #7c4dff}
.marquee p{position:relative;z-index:1;margin:6px 0 0;font:600 12px/1 var(--f-ui);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.bulbs{position:absolute;inset:6px;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:space-between;pointer-events:none}
.bulbs i{width:10px;height:10px;border-radius:50%;background:#ffe082;box-shadow:0 0 8px #ffca28;animation:bulb 1s steps(1) infinite}
.bulbs i:nth-child(odd){animation-delay:.5s}
.t-neon .bulbs i{background:#18ffff;box-shadow:0 0 8px #18ffff}
@keyframes bulb{50%{opacity:.25;box-shadow:none}}
.window{position:relative;border-radius:16px;padding:10px;background:#0b0b0e;box-shadow:inset 0 0 0 3px rgba(0,0,0,.6),inset 0 10px 30px rgba(0,0,0,.8),0 0 0 4px var(--trim)}
.reels{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:8px}
.reel{position:relative;overflow:hidden;height:calc(var(--rows) * clamp(76px,11vw,120px));border-radius:10px;background:linear-gradient(180deg,#d9d9d9,#fff 18%,#fff 82%,#c9c9c9);box-shadow:inset 0 8px 14px rgba(0,0,0,.35),inset 0 -8px 14px rgba(0,0,0,.35)}
.t-neon .reel{background:linear-gradient(180deg,#1a1a26,#26263a 50%,#1a1a26)}
.strip{display:grid;grid-auto-rows:clamp(76px,11vw,120px);will-change:transform}
.strip.blur .sym{filter:blur(1.6px)}
.sym{display:grid;place-items:center;padding:12%}
.sym svg{width:100%;height:100%;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35))}
.sym.win{animation:symwin .6s ease-in-out infinite alternate;position:relative;z-index:2}
.sym.win::before{content:"";position:absolute;inset:4px;border-radius:12px;box-shadow:0 0 0 3px #ffd54f,0 0 18px rgba(255,213,79,.8)}
@keyframes symwin{to{transform:scale(1.1)}}
.lines{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);pointer-events:none;filter:drop-shadow(0 0 4px rgba(0,0,0,.7))}
.panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding:14px;border-radius:16px;background:rgba(0,0,0,.35);box-shadow:inset 0 2px 8px rgba(0,0,0,.6)}
.meter{display:grid;gap:4px;justify-items:center;min-width:86px;padding:8px 12px;border-radius:10px;background:#120d08;box-shadow:inset 0 2px 6px rgba(0,0,0,.8)}
.meter span{font:600 10px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:#bda983}
.meter b{font:400 22px/1 var(--f-seg);color:#ffb53f;text-shadow:0 0 8px rgba(255,160,40,.6)}
.meter.free b{color:#69f0ae;text-shadow:0 0 8px rgba(105,240,174,.6)}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:28px;height:28px;border-radius:50%;border:0;background:#3a2e22;color:#ffe9b0;font:700 18px/1 var(--f-ui);cursor:pointer}
.auto{margin-left:auto}
.spin{width:104px;height:104px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#ff8a65,#e53935 45%,#8e0000);box-shadow:0 8px 0 #5d0000,0 14px 24px rgba(0,0,0,.6),inset 0 4px 10px rgba(255,255,255,.35);transition:transform .1s,box-shadow .1s}
.spin span{font:800 20px/1 var(--f-mark);letter-spacing:.1em;color:#fff;text-shadow:0 2px 2px rgba(0,0,0,.5)}
.spin:active{transform:translateY(6px);box-shadow:0 2px 0 #5d0000,0 6px 12px rgba(0,0,0,.6),inset 0 4px 10px rgba(255,255,255,.35)}
.spin:disabled{filter:grayscale(.5) brightness(.8);cursor:wait}
.t-gems .spin{background:radial-gradient(circle at 35% 30%,#ea80fc,#8e24aa 45%,#3a0a52);box-shadow:0 8px 0 #2a063d,0 14px 24px rgba(0,0,0,.6),inset 0 4px 10px rgba(255,255,255,.35)}
.t-neon .spin{background:radial-gradient(circle at 35% 30%,#84ffff,#00b8d4 45%,#004d5a);box-shadow:0 8px 0 #003038,0 0 24px rgba(0,229,255,.6),inset 0 4px 10px rgba(255,255,255,.35)}
.paytable{margin-top:14px;color:#fff}
.paytable summary{cursor:pointer;font:600 13px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:10px}
.pt{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:rgba(0,0,0,.3);font-size:14px}
.pt .sym{width:40px;height:40px;padding:2px}
.pt em{margin-left:auto;font-style:normal;font-size:11px;color:#ffd54f}
.slot-msg{max-width:880px;margin:16px auto 0;min-height:42px;text-align:center;font:700 22px/1.3 var(--f-mark);color:#ffe9b0;opacity:0;transition:opacity .2s}
.slot-msg.show{opacity:1;animation:pop .35s cubic-bezier(.2,1.6,.4,1)}
.slot-note{text-align:center;color:#8c7f6a;font-size:14px}
@media (max-width:640px){.cabinet{padding:14px;border-radius:22px}.reels{gap:4px}.reel{height:calc(var(--rows)*62px)}.strip{grid-auto-rows:62px}.spin{width:84px;height:84px}.auto{margin-left:0}}
