.mj-machine{position:relative;width:100%;max-width:440px;padding:10px;border-radius:24px;background:radial-gradient(130% 70% at 50% 0%,rgba(220,38,38,.2),transparent 62%),linear-gradient(170deg,#4a1010,#1a0505);border:2px solid #dc2626;box-shadow:0 0 42px -10px #dc2626,inset 0 0 26px rgba(0,0,0,.6),0 16px 32px rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center}
.mj-machine.fs{border-color:#fbbf24;box-shadow:0 0 50px -6px #fbbf24,inset 0 0 26px rgba(0,0,0,.6)}
.mj-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;margin-bottom:6px}
.mj-name{font-size:12px;font-weight:800;color:#fef3c7}.mj-tag{font-size:9px;font-weight:700;color:rgba(255,255,255,.6)}
.mj-mult{display:flex;gap:5px;justify-content:center;margin-bottom:6px}
.mj-mult-pill{padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.15);font-size:10px;font-weight:800;color:rgba(255,255,255,.45);transition:all .3s cubic-bezier(.3,1.4,.5,1)}
.mj-mult-pill.active{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#2b1d00;border-color:#fbbf24;box-shadow:0 0 16px rgba(251,191,36,.75);transform:scale(1.18)}
.mj-window{position:relative;width:100%;padding:5px;border-radius:14px;background:rgba(0,0,0,.55);box-shadow:inset 0 0 22px rgba(0,0,0,.9)}
.mj-reels{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.mj-col{position:relative;overflow:hidden;border-radius:9px;background:linear-gradient(#0a0305,#2a0a0a 48%,#0a0305);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 14px rgba(0,0,0,.85)}
.mj-strip{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;gap:2px;transform:translateY(calc(-50% + 1px));will-change:transform}
.mj-sym{aspect-ratio:1 / 1.32;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;line-height:1;background:linear-gradient(160deg,#fef9e7 0%,#f5e6b8 60%,#e8d59a 100%);color:#111827;border:1px solid rgba(255,255,255,.6);box-shadow:0 3px 0 rgba(0,0,0,.35),0 4px 8px rgba(0,0,0,.45),inset 0 -3px 0 rgba(140,100,30,.25),inset 0 3px 0 rgba(255,255,255,.7);text-shadow:0 1px 0 rgba(255,255,255,.6);position:relative;overflow:hidden}
.mj-sym::before{content:"";position:absolute;top:2px;left:2px;right:2px;height:35%;border-radius:10px 10px 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent);pointer-events:none}
@media(min-width:400px){.mj-sym{font-size:34px}}
@media(min-width:440px){.mj-sym{font-size:36px}}
.mj-sym.wild{background:linear-gradient(160deg,#fde68a 0%,#fbbf24 60%,#d97706 100%);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4);box-shadow:0 3px 0 rgba(120,53,15,.6),0 0 22px rgba(251,191,36,.8),inset 0 3px 0 rgba(255,255,255,.5)}
.mj-sym.scatter{background:linear-gradient(160deg,#f87171 0%,#dc2626 55%,#7f1d1d 100%);color:#fef3c7;text-shadow:0 2px 4px rgba(0,0,0,.55);box-shadow:0 3px 0 rgba(80,10,10,.7),0 0 20px rgba(220,38,38,.85),inset 0 3px 0 rgba(255,255,255,.35)}
.mj-sym.gold-plate{background:linear-gradient(160deg,#fef3c7 0%,#fbbf24 55%,#f59e0b 100%);border-color:#fde68a;box-shadow:0 3px 0 rgba(120,53,15,.5),0 0 20px rgba(251,191,36,.9),inset 0 0 12px rgba(255,255,255,.55)}
.mj-sym.win{animation:mjWinPulse .65s ease 2;border-color:#FFD54F;z-index:3}
@keyframes mjWinPulse{0%,100%{transform:scale(1);box-shadow:0 0 16px #FFD54F}50%{transform:scale(1.22);box-shadow:0 0 30px #FFD54F,0 0 48px #fbbf24}}
.mj-sym.cracking{animation:mjCrack .7s cubic-bezier(.5,0,.75,0) forwards;z-index:6}
@keyframes mjCrack{0%{transform:scale(1) rotate(0);filter:brightness(1)}15%{transform:scale(1.25) rotate(-8deg);filter:brightness(3)}28%{transform:scale(1.15) rotate(9deg);filter:brightness(4.5)}42%{transform:scale(1.32) rotate(-10deg);filter:brightness(6)}55%{transform:scale(1.2) rotate(11deg);filter:brightness(7.5) hue-rotate(15deg)}70%{transform:scale(1.4) rotate(-12deg);filter:brightness(9) saturate(3)}85%{transform:scale(1.35) rotate(14deg);filter:brightness(11) blur(1px)}100%{transform:scale(1.5) rotate(16deg);filter:brightness(14) blur(2px);opacity:0}}
.mj-sym.gone{animation:mjGone .5s cubic-bezier(.5,0,.75,0) forwards}
@keyframes mjGone{0%{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}30%{transform:scale(1.4) rotate(-15deg);filter:brightness(5)}60%{transform:scale(.5) rotate(20deg);opacity:.6}100%{transform:scale(.05) rotate(45deg);opacity:0;filter:brightness(0)}}
.mj-win{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:24px;color:#FFD54F;text-shadow:0 0 12px rgba(251,191,36,.9),0 3px 14px rgba(0,0,0,.95);pointer-events:none;opacity:0;z-index:5}
.mj-win.show{animation:mjWinFloat 1.8s cubic-bezier(.2,1,.4,1) forwards}
@keyframes mjWinFloat{0%{opacity:0;transform:scale(.4) translateY(20px)}20%{opacity:1;transform:scale(1.25) translateY(0)}45%{opacity:1;transform:scale(1) translateY(-4px)}75%{opacity:1;transform:scale(1) translateY(-8px)}100%{opacity:0;transform:scale(1.1) translateY(-36px)}}
.mj-res{min-height:20px;font-weight:700;font-size:13px;margin-top:8px;color:var(--text-dim);text-align:center;padding:0 6px}
.mj-res.win{color:var(--gold)}.mj-res.fs{color:#fbbf24}
.mj-bets{display:flex;gap:6px;justify-content:center;flex-wrap:nowrap;margin-top:8px;align-items:center}
.mj-betline{font-size:9.5px;color:rgba(255,255,255,.55);text-align:center;margin-top:5px}
.mj-pay{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:12px;max-width:380px}
.mj-pay span{font-size:10px;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);padding:3px 8px;border-radius:999px}
.mj-pay span b{color:var(--gold)}
