*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#080b16;color:#fff;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}
.speedpeak-v2{min-height:100vh;background:radial-gradient(circle at 50% 12%,rgba(255,195,77,.18),transparent 22%),linear-gradient(180deg,#070913 0%,#10172d 42%,#080b16 100%);overflow:hidden;position:relative}
.sp-particles{position:fixed;inset:0;pointer-events:none;overflow:hidden}.sp-particles span{position:absolute;top:-20px;width:4px;height:4px;border-radius:50%;background:#ffd56a;box-shadow:0 0 12px #ffd56a;animation:spFloat linear infinite;opacity:.75}
.sp-shell{width:min(100%,450px);min-height:100vh;margin:0 auto;position:relative;z-index:1;padding:12px 10px 18px}
.sp-topbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.sp-icon-btn,.sp-menu-btn{border:0;color:#fff;background:rgba(255,255,255,.1);width:38px;height:38px;border-radius:50%;font-size:28px;line-height:1}
.sp-brand{flex:1;text-align:center}.sp-title{font-size:22px;font-weight:900;color:#ffd56a;text-shadow:0 0 12px rgba(255,213,106,.65)}.sp-subtitle{margin-top:4px;font-size:13px;color:rgba(255,221,156,.75)}
.sp-wallet{min-width:76px;text-align:right;color:#ffe1a0;font-weight:800}
.sp-auth{width:min(100% - 28px,420px);margin:34px auto 0;padding:20px;border-radius:18px;background:linear-gradient(180deg,#202436,#151827);border:1px solid rgba(255,217,123,.35);box-shadow:0 20px 60px rgba(0,0,0,.55)}
.sp-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.sp-tabs button,.sp-auth button,.sp-recharge button,.sp-dialog-actions button{border:0;border-radius:10px;padding:11px;color:#fff;background:rgba(255,255,255,.08)}
.sp-tabs button.active,.sp-auth button.primary,.sp-recharge button,.sp-dialog-actions button.primary{background:linear-gradient(180deg,#ffe06f,#d5891c);color:#3b1607;font-weight:900}
.sp-form{display:grid;gap:12px}.sp-form label{display:grid;gap:6px;color:#c8cbe0;font-size:14px}
.sp-form input,.sp-form select{width:100%;border:1px solid rgba(255,217,123,.22);border-radius:10px;padding:10px 12px;background:rgba(2,6,23,.55);color:#fff;outline:0}
.sp-multiplier-panel{margin:10px 0 6px;text-align:center}.sp-multiplier-title{font-size:12px;color:#aaa;margin-bottom:4px}
.sp-multiplier-track{display:flex;justify-content:center;gap:8px}
.sp-multiplier-step{padding:5px 12px;border-radius:8px;font-weight:900;font-size:15px;background:rgba(255,255,255,.06);color:#888;transition:all .3s}
.sp-multiplier-step.active{background:linear-gradient(180deg,#ffe06f,#d5891c);color:#3b1607;transform:scale(1.18);box-shadow:0 0 18px rgba(255,200,60,.5)}
.sp-multiplier-step.passed{background:rgba(255,200,60,.2);color:#ffd56a}
.sp-board-wrap{position:relative;margin:8px 0}.sp-board-glow{position:absolute;inset:-18px;border-radius:22px;background:radial-gradient(ellipse at center,rgba(255,200,60,.08),transparent 70%);pointer-events:none;z-index:0}
.sp-board{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;position:relative;z-index:1;border-radius:14px;padding:6px;background:linear-gradient(180deg,rgba(20,25,50,.92),rgba(10,14,30,.96));border:1px solid rgba(255,217,123,.18);min-height:320px}
/* ★ 老虎机卷轴系统（V4）
   reel 容器固定 = 5 格高（aspect-ratio 1:5），overflow:hidden
   strip 是高度 = (PAD+5) × tile 的纵向条，绝对定位在 reel 内
   - 旋转中：strip 起点在「padding 末尾」位置（顶部padding显示中），CSS 动画让它在小范围内循环滚动产生高速感
   - 停止时：JS 设置 strip 的 transform 让 strip 向上滑动 PAD 格的距离，最后 5 格落到 reel 可见区域 */
.sp-reel{display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}
/* 旋转激活状态：隐藏底层静态格子（被 strip 覆盖） */
.sp-reel.reel-active > .sp-tile{opacity:0;transform:none;filter:none;transition:none}
.sp-reel-strip{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;flex-direction:column;gap:4px;will-change:transform;backface-visibility:hidden}
.sp-reel-strip .sp-tile-ghost{transform:translateZ(0);image-rendering:auto;flex-shrink:0}
@keyframes spFloat{0%{transform:translateY(0) rotate(0deg);opacity:.75}100%{transform:translateY(100vh) rotate(360deg);opacity:0}}
.sp-tile{position:relative;aspect-ratio:1;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden;background:linear-gradient(180deg,rgba(30,35,60,.85),rgba(20,24,45,.95));border:1px solid rgba(255,255,255,.06)}
.sp-tile.tier-high{border-color:rgba(46,204,113,.3)}.sp-tile.tier-mid{border-color:rgba(155,89,182,.3)}.sp-tile.tier-low{border-color:rgba(52,152,219,.3)}
.sp-tile.type-wild{border-color:rgba(243,156,18,.5);background:linear-gradient(180deg,rgba(60,40,0,.8),rgba(40,25,0,.95))}
.sp-tile.type-scatter{border-color:rgba(255,215,0,.6);background:linear-gradient(135deg,#4a1942,#2d1b69,#1a0a2e);animation:scatterPulse 1.5s ease-in-out infinite;box-shadow:0 0 12px rgba(255,215,0,.3)}
.sp-tile.type-scatter .sp-tile-symbol{font-size:9px;color:#ffd700;text-shadow:0 0 8px rgba(255,215,0,.8);font-weight:900;letter-spacing:1px}
.sp-tile.type-scatter::after{content:'';position:absolute;inset:3px;border-radius:8px;border:1px solid rgba(255,215,0,.3);pointer-events:none}
.sp-scatter-icon{width:70%;height:70%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(255,215,0,.2),transparent);border-radius:50%}
.sp-scatter-icon svg{width:100%;height:100%}
.sp-tile.matched{animation:tileMatch .4s ease-out;border-color:#ffe06f;box-shadow:0 0 16px rgba(255,200,60,.6)}
.sp-tile.removing{animation:tileRemove .3s ease-in forwards}
.sp-tile.goldenConverted{border-color:#f39c12;box-shadow:0 0 12px rgba(243,156,18,.4);background:linear-gradient(180deg,rgba(60,40,0,.7),rgba(40,25,0,.9))}
@keyframes tileMatch{0%{transform:scale(1)}50%{transform:scale(1.15);box-shadow:0 0 24px rgba(255,200,60,.8)}100%{transform:scale(1)}}
@keyframes tileRemove{0%{transform:scale(1);opacity:1}100%{transform:scale(.3) rotate(15deg);opacity:0}}
@keyframes tileDrop{0%{transform:translate3d(0,-120%,0);opacity:0;filter:none}30%{opacity:1}80%{transform:translate3d(0,4px,0);filter:none}100%{transform:translate3d(0,0,0);filter:none}}
.sp-tile.dropping{animation:tileDrop .42s cubic-bezier(.34,1.2,.64,1);animation-fill-mode:both;will-change:transform,opacity;backface-visibility:hidden}
.sp-tile.dropping img,.sp-tile.dropping .sp-tile-symbol{filter:none!important}
/* 逐行掉落 - 底部先落地（drop-row-4），顶部最后（drop-row-0） */
.sp-reel:nth-child(1) .sp-tile.drop-row-4.dropping{animation-delay:0ms}
.sp-reel:nth-child(1) .sp-tile.drop-row-3.dropping{animation-delay:90ms}
.sp-reel:nth-child(1) .sp-tile.drop-row-2.dropping{animation-delay:180ms}
.sp-reel:nth-child(1) .sp-tile.drop-row-1.dropping{animation-delay:270ms}
.sp-reel:nth-child(1) .sp-tile.drop-row-0.dropping{animation-delay:360ms}
.sp-reel:nth-child(2) .sp-tile.drop-row-4.dropping{animation-delay:30ms}
.sp-reel:nth-child(2) .sp-tile.drop-row-3.dropping{animation-delay:120ms}
.sp-reel:nth-child(2) .sp-tile.drop-row-2.dropping{animation-delay:210ms}
.sp-reel:nth-child(2) .sp-tile.drop-row-1.dropping{animation-delay:300ms}
.sp-reel:nth-child(2) .sp-tile.drop-row-0.dropping{animation-delay:390ms}
.sp-reel:nth-child(3) .sp-tile.drop-row-4.dropping{animation-delay:60ms}
.sp-reel:nth-child(3) .sp-tile.drop-row-3.dropping{animation-delay:150ms}
.sp-reel:nth-child(3) .sp-tile.drop-row-2.dropping{animation-delay:240ms}
.sp-reel:nth-child(3) .sp-tile.drop-row-1.dropping{animation-delay:330ms}
.sp-reel:nth-child(3) .sp-tile.drop-row-0.dropping{animation-delay:420ms}
.sp-reel:nth-child(4) .sp-tile.drop-row-4.dropping{animation-delay:90ms}
.sp-reel:nth-child(4) .sp-tile.drop-row-3.dropping{animation-delay:180ms}
.sp-reel:nth-child(4) .sp-tile.drop-row-2.dropping{animation-delay:270ms}
.sp-reel:nth-child(4) .sp-tile.drop-row-1.dropping{animation-delay:360ms}
.sp-reel:nth-child(4) .sp-tile.drop-row-0.dropping{animation-delay:450ms}
.sp-reel:nth-child(5) .sp-tile.drop-row-4.dropping{animation-delay:120ms}
.sp-reel:nth-child(5) .sp-tile.drop-row-3.dropping{animation-delay:210ms}
.sp-reel:nth-child(5) .sp-tile.drop-row-2.dropping{animation-delay:300ms}
.sp-reel:nth-child(5) .sp-tile.drop-row-1.dropping{animation-delay:390ms}
.sp-reel:nth-child(5) .sp-tile.drop-row-0.dropping{animation-delay:480ms}
.sp-tile.stretchStop{animation:stretchBounce .7s cubic-bezier(.2,.8,.3,1.4)}
@keyframes stretchBounce{0%{transform:scaleY(1.2) translateY(-8px)}30%{transform:scaleY(.88) translateY(4px)}55%{transform:scaleY(1.08) translateY(-2px)}75%{transform:scaleY(.97)}100%{transform:scaleY(1) translateY(0)}}
@keyframes scatterPulse{0%,100%{box-shadow:0 0 8px rgba(231,76,60,.3)}50%{box-shadow:0 0 20px rgba(231,76,60,.7)}}
.sp-tile-ghost{aspect-ratio:1;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(30,35,60,.6),rgba(20,24,45,.7));border:1px solid rgba(255,255,255,.04);overflow:hidden}
.sp-tile-ghost img{width:70%;height:70%;object-fit:contain;opacity:.7}
.sp-gun-img{width:70%;height:70%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.sp-tile-symbol{font-size:11px;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.sp-tile-tag{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);font-size:8px;background:rgba(243,156,18,.8);color:#fff;padding:1px 4px;border-radius:3px}
.sp-tile-shine{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 60%);pointer-events:none}
.sp-message-bar{text-align:center;padding:8px;font-size:13px;color:#c8cbe0}.sp-free-copy b{color:#ffe06f}.sp-free-count{margin-top:4px;color:#ffd56a}
.sp-stats-row{display:flex;justify-content:space-around;padding:8px 0;font-size:12px;color:#aaa}.sp-stats-row div{text-align:center;cursor:pointer}.sp-stats-row b{display:block;color:#fff;font-size:14px;margin-top:2px}
.sp-control-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0}
.sp-small-control{border:0;background:rgba(255,255,255,.08);color:#aaa;width:44px;height:44px;border-radius:50%;font-size:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.sp-small-control.active{color:#ffe06f;background:rgba(255,200,60,.15)}
.sp-small-control small{font-size:9px}
.sp-round-control{border:0;background:rgba(255,255,255,.1);color:#fff;width:40px;height:40px;border-radius:50%;font-size:22px;font-weight:900}
.sp-spin-btn{border:0;width:64px;height:64px;border-radius:50%;background:linear-gradient(180deg,#ffe06f,#d5891c);color:#3b1607;font-size:28px;font-weight:900;box-shadow:0 4px 20px rgba(255,200,60,.4);transition:all .2s}
.sp-spin-btn.spinning{animation:spinPulse .8s ease-in-out infinite;background:linear-gradient(180deg,#ff6b6b,#c0392b);color:#fff}
@keyframes spinPulse{0%,100%{transform:scale(1)}50%{transform:scale(.92)}}
.sp-modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column}
.sp-bottom-sheet{width:min(100%,450px);background:linear-gradient(180deg,#1a1f35,#0d1020);border-radius:20px 20px 0 0;padding:20px;max-height:80vh;overflow-y:auto;position:relative;margin-top:auto}
.sp-bottom-sheet h3{color:#ffd56a;margin:0 0 14px;font-size:18px}
.sp-bottom-sheet button{display:block;width:100%;text-align:left;border:0;background:rgba(255,255,255,.05);color:#fff;padding:12px 14px;border-radius:10px;margin-bottom:8px;font-size:15px}
.sp-close{position:absolute;top:14px;right:14px;border:0;background:none;color:#aaa;font-size:24px;width:32px;height:32px;border-radius:50%}
.sp-bigwin{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85)}
.sp-bigwin-card{text-align:center;padding:30px;border-radius:20px;background:linear-gradient(180deg,#2a1f00,#1a1200);border:2px solid #ffd56a;box-shadow:0 0 60px rgba(255,200,60,.3);position:relative;z-index:1}
.sp-bigwin-title{font-size:24px;color:#ffd56a;font-weight:900;margin-bottom:10px}
.sp-bigwin-amount{font-size:36px;color:#fff;font-weight:900;text-shadow:0 0 20px rgba(255,200,60,.5)}
.sp-mahjong-pile{margin-top:12px;font-size:20px;letter-spacing:4px}
.sp-bigwin-card button{margin-top:16px;border:0;background:linear-gradient(180deg,#ffe06f,#d5891c);color:#3b1607;padding:10px 30px;border-radius:10px;font-weight:900;font-size:16px}
.sp-coin-rain{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.sp-coin-rain span{position:absolute;top:-20px;font-size:14px;color:#ffd56a;animation:coinFall 1.5s linear infinite}
@keyframes coinFall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}
.sp-free-award{background:rgba(0,0,0,.9)}.sp-free-award-card{text-align:center;padding:30px;border-radius:20px;background:linear-gradient(180deg,#1a0a2e,#0d0520);border:2px solid #a855f7;box-shadow:0 0 60px rgba(168,85,247,.3);position:relative;z-index:1}
.sp-award-kicker{font-size:14px;color:#a855f7;margin-bottom:6px}.sp-award-title{font-size:20px;color:#fff;font-weight:900}.sp-award-count{font-size:48px;color:#ffd56a;font-weight:900;margin:10px 0}
.sp-free-award-card button{margin-top:16px;border:0;background:linear-gradient(180deg,#a855f7,#7c3aed);color:#fff;padding:10px 30px;border-radius:10px;font-weight:900;font-size:16px}
.sp-free-end{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85)}
.sp-free-end-card{text-align:center;padding:30px;border-radius:20px;background:linear-gradient(180deg,#1a2a00,#0d1500);border:2px solid #22c55e;box-shadow:0 0 60px rgba(34,197,94,.3)}
.sp-free-end-card h2{color:#22c55e;margin:0 0 10px}.sp-free-end-card .amount{font-size:32px;color:#ffd56a;font-weight:900}
.sp-free-end-card button{margin-top:16px;border:0;background:linear-gradient(180deg,#22c55e,#16a34a);color:#fff;padding:10px 30px;border-radius:10px;font-weight:900}
.sp-dialog{width:min(90%,400px);background:linear-gradient(180deg,#1a1f35,#0d1020);border-radius:18px;padding:20px;border:1px solid rgba(255,217,123,.2);max-height:80vh;overflow-y:auto;position:relative;margin:auto}
.sp-dialog h3{color:#ffd56a;margin:0 0 14px}
.sp-dialog-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.sp-dialog-actions button{flex:1;min-width:60px}
.sp-pay-table{display:grid;gap:8px}.sp-pay-row{display:flex;align-items:center;gap:10px;padding:8px;background:rgba(255,255,255,.03);border-radius:8px}
.sp-pay-row img{width:36px;height:36px;object-fit:contain}.sp-pay-row .name{flex:1;font-weight:700}.sp-pay-row .pays{font-size:12px;color:#aaa}
.sp-bet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.sp-bet-grid button{border:0;background:rgba(255,255,255,.06);color:#fff;padding:10px;border-radius:8px;font-weight:700}
.sp-bet-grid button.active{background:linear-gradient(180deg,#ffe06f,#d5891c);color:#3b1607}
.sp-history-item{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.sp-recharge{padding:16px}.sp-recharge form{display:grid;gap:12px}
.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:rgba(34,197,94,.9);color:#fff;padding:10px 20px;border-radius:10px;z-index:999;font-size:14px;animation:toastIn .3s}
.toast.error{background:rgba(239,68,68,.9)}
@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}
.sp-fade-enter-active,.sp-fade-leave-active{transition:opacity .3s}.sp-fade-enter,.sp-fade-leave-to{opacity:0}
.sp-pop-enter-active,.sp-pop-leave-active{transition:all .3s}.sp-pop-enter,.sp-pop-leave-to{opacity:0;transform:scale(.9)}
.sp-wild-icon{font-size:28px;filter:drop-shadow(0 2px 6px rgba(255,200,0,.6));animation:wildGlow 2s ease-in-out infinite}
@keyframes wildGlow{0%,100%{filter:drop-shadow(0 2px 6px rgba(255,200,0,.4))}50%{filter:drop-shadow(0 4px 12px rgba(255,200,0,.8))}}
.sp-tile.type-wild{border-color:rgba(255,200,0,.5);background:linear-gradient(135deg,#3d2800,#1a1000,#3d2800);box-shadow:inset 0 0 20px rgba(255,200,0,.1)}
.sp-tile.goldenConverting{animation:goldenConvert .6s ease-out;border-color:#ffd700;box-shadow:0 0 20px rgba(255,215,0,.7)}
@keyframes goldenConvert{0%{transform:scale(1);box-shadow:0 0 8px rgba(255,215,0,.3)}50%{transform:scale(1.2) rotate(5deg);box-shadow:0 0 30px rgba(255,215,0,.9)}100%{transform:scale(1);box-shadow:0 0 12px rgba(255,215,0,.5)}}
.sp-cascade-win-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:22px;font-weight:900;color:#ffd700;text-shadow:0 2px 8px rgba(0,0,0,.8),0 0 20px rgba(255,200,0,.5);z-index:10;pointer-events:none;animation:cascadeWinFloat 1.8s ease-out forwards}
@keyframes cascadeWinFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}30%{transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-120%) scale(.8)}}
.sp-reel.reel-suspense .sp-tile{transition:all .8s cubic-bezier(.25,.1,.25,1)}
.sp-reel.reel-suspense .sp-reel-strip{animation:reelSlowSpin 1.2s cubic-bezier(.4,0,.2,1)}
@keyframes reelSlowSpin{0%{transform:translateY(-30%)}70%{transform:translateY(3%)}85%{transform:translateY(-2%)}100%{transform:translateY(0)}}
.sp-reel.reel-stretch .sp-reel-strip{animation:reelStretch 0.6s cubic-bezier(.2,.8,.3,1.4)}
@keyframes reelStretch{0%{transform:translateY(-8%)}40%{transform:translateY(4%)}70%{transform:translateY(-2%)}100%{transform:translateY(0)}}
.sp-sound-btn{border:0;background:rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:50%;font-size:18px}
.sp-sound-btn.muted{opacity:.5}

/* =====================================================
   极速巅峰 · 动画与视觉强化（新增覆盖）
   ===================================================== */
.speedpeak-v2{background:radial-gradient(ellipse at 50% -10%,rgba(168,85,247,.45),transparent 55%),radial-gradient(circle at 80% 80%,rgba(34,211,238,.18),transparent 50%),linear-gradient(180deg,#050715 0%,#0a0d24 45%,#06080f 100%)}
.sp-shell{padding-bottom:24px}

/* 顶栏增强 */
.sp-title{font-size:24px;letter-spacing:3px;background:linear-gradient(90deg,#fbbf24,#fff,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 14px rgba(251,191,36,.45))}
.sp-subtitle{letter-spacing:3px;font-size:10px;color:rgba(125,211,252,.7)}
.sp-wallet{padding:6px 11px;background:linear-gradient(135deg,rgba(251,191,36,.18),rgba(168,85,247,.1));border:1px solid rgba(251,191,36,.32);border-radius:11px;color:#fbbf24}
.sp-icon-btn,.sp-menu-btn,.sp-sound-btn{background:rgba(168,85,247,.16);border:1px solid rgba(168,85,247,.32);color:#c7d2fe;transition:all .2s}
.sp-icon-btn:hover,.sp-menu-btn:hover,.sp-sound-btn:hover{background:rgba(168,85,247,.32);transform:scale(1.04)}

/* 棋盘外框升级 */
.sp-board{padding:8px;border-radius:18px;background:linear-gradient(180deg,rgba(15,23,55,.92),rgba(8,12,32,.97));border:1px solid rgba(168,85,247,.28);box-shadow:0 12px 50px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04)}
.sp-board-glow{inset:-26px;background:radial-gradient(ellipse at center,rgba(168,85,247,.18),rgba(34,211,238,.08) 40%,transparent 75%);filter:blur(22px)}
.sp-board::before{content:'';position:absolute;inset:0;border-radius:18px;pointer-events:none;background:linear-gradient(180deg,rgba(34,211,238,.05),transparent 30%,transparent 70%,rgba(168,85,247,.05))}

/* 旋转动画：更平滑 + 模糊 */
.sp-reel.reel-spinning .sp-reel-strip{animation:reelSpinFast .22s linear infinite;filter:blur(.6px)}
@keyframes reelSpinFast{0%{transform:translate3d(0,-50%,0)}100%{transform:translate3d(0,0,0)}}
.sp-reel.reel-spinning::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(168,85,247,.15),transparent 20%,transparent 80%,rgba(168,85,247,.15));pointer-events:none;z-index:3}
.sp-reel{border-radius:10px}

/* tile 样式精调 */
.sp-tile{background:linear-gradient(160deg,rgba(40,45,80,.85),rgba(15,18,40,.95));border:1px solid rgba(168,85,247,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.sp-tile.tier-high{border-color:rgba(34,211,238,.4);box-shadow:inset 0 0 12px rgba(34,211,238,.18)}
.sp-tile.tier-mid{border-color:rgba(168,85,247,.4);box-shadow:inset 0 0 12px rgba(168,85,247,.18)}
.sp-tile.tier-low{border-color:rgba(96,165,250,.32)}
.sp-tile-shine{background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 55%)}

/* 倍数轨道 */
.sp-multiplier-track{gap:6px}
.sp-multiplier-step{padding:5px 12px;background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.15)}
.sp-multiplier-step.active{background:linear-gradient(180deg,#fbbf24,#d97706);color:#3b1607;border-color:#fbbf24;transform:scale(1.2);box-shadow:0 0 24px rgba(251,191,36,.6)}
.sp-multiplier-step.passed{background:rgba(251,191,36,.18);color:#fbbf24;border-color:rgba(251,191,36,.4)}
.sp-multiplier-title{color:rgba(165,180,252,.7);letter-spacing:1px}

/* spin 主按钮 - 更夺目 */
.sp-spin-btn{position:relative;width:72px;height:72px;background:linear-gradient(180deg,#fbbf24 0%,#d97706 100%);box-shadow:0 6px 28px rgba(251,191,36,.55),inset 0 0 0 2px rgba(255,255,255,.18);font-size:32px}
.sp-spin-btn::before{content:'';position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(from 0deg,#fbbf24,#22d3ee,#a855f7,#fbbf24);z-index:-1;opacity:.5;filter:blur(8px);animation:spinRing 4s linear infinite}
@keyframes spinRing{to{transform:rotate(360deg)}}
.sp-spin-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 8px 36px rgba(251,191,36,.7)}
.sp-spin-btn.spinning{background:linear-gradient(180deg,#ef4444 0%,#991b1b 100%);box-shadow:0 6px 28px rgba(239,68,68,.55),inset 0 0 0 2px rgba(255,255,255,.18)}
.sp-spin-btn.spinning::before{opacity:.8}

/* 控制条 */
.sp-control-bar{padding:14px 0 8px;gap:12px}
.sp-small-control{background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.22);transition:all .2s}
.sp-small-control.active{background:linear-gradient(180deg,#fbbf24,#d97706);color:#3b1607;border-color:#fbbf24;box-shadow:0 4px 16px rgba(251,191,36,.45)}
.sp-round-control{background:linear-gradient(180deg,rgba(168,85,247,.25),rgba(168,85,247,.1));border:1px solid rgba(168,85,247,.4);color:#fff;transition:all .15s}
.sp-round-control:hover{background:linear-gradient(180deg,rgba(168,85,247,.45),rgba(168,85,247,.2))}

/* 统计行 */
.sp-stats-row{padding:10px 0;background:linear-gradient(90deg,rgba(15,23,55,.6),rgba(15,23,55,.3),rgba(15,23,55,.6));border-radius:11px;margin:8px 0;border:1px solid rgba(168,85,247,.16)}
.sp-stats-row b{color:#fbbf24;font-size:15px;text-shadow:0 0 8px rgba(251,191,36,.35)}
.sp-stats-row span{color:rgba(165,180,252,.7);font-size:11px}

/* 中奖动画与连击文字 */
.sp-cascade-win-popup{color:#fbbf24;text-shadow:0 2px 12px rgba(0,0,0,.85),0 0 24px rgba(251,191,36,.7);font-size:26px}

/* 大奖弹窗（保留原有逻辑） */
.sp-bigwin{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(168,85,247,.4),rgba(2,6,23,.95))}
.sp-bigwin-card{position:relative;padding:30px 40px;border-radius:24px;background:linear-gradient(180deg,#1e1b4b,#0f172a);border:2px solid rgba(251,191,36,.6);box-shadow:0 20px 80px rgba(251,191,36,.45),0 0 0 4px rgba(251,191,36,.15);text-align:center;animation:bigWinPop .6s cubic-bezier(.4,1.4,.5,1)}
@keyframes bigWinPop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.sp-bigwin-title{font-size:30px;font-weight:900;letter-spacing:5px;background:linear-gradient(90deg,#fbbf24,#fff,#fbbf24);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px;animation:bigWinShine 2s linear infinite}
@keyframes bigWinShine{from{filter:hue-rotate(0)}to{filter:hue-rotate(360deg)}}
.sp-bigwin-amount{font-size:46px;font-weight:900;color:#fbbf24;text-shadow:0 0 30px rgba(251,191,36,.8);letter-spacing:1px;font-family:"DIN Alternate","Helvetica Neue",sans-serif}
.sp-bigwin-card button{margin-top:20px;padding:12px 36px;border-radius:12px;background:linear-gradient(180deg,#fbbf24,#d97706);color:#3b1607;font-size:16px;font-weight:900;border:0;letter-spacing:2px;box-shadow:0 6px 20px rgba(251,191,36,.5)}
.sp-coin-rain{position:absolute;inset:0;pointer-events:none}
.sp-coin-rain span{position:absolute;top:-20px;color:#fbbf24;font-size:18px;animation:coinFall linear forwards;text-shadow:0 0 12px rgba(251,191,36,.7)}
@keyframes coinFall{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(120vh) rotate(720deg)}}

/* 弹窗 */
.sp-bottom-sheet{background:linear-gradient(180deg,#1e1b4b,#0a0d24);border:1px solid rgba(168,85,247,.28);border-radius:24px 24px 0 0;padding:18px 18px 24px}
.sp-bottom-sheet h3{color:#fbbf24;letter-spacing:1px}
.sp-close{background:rgba(168,85,247,.2);color:#c7d2fe;border:1px solid rgba(168,85,247,.32)}

/* 投注网格 */
.sp-bet-grid button{background:linear-gradient(180deg,rgba(15,23,55,.85),rgba(8,12,32,.95));border:1px solid rgba(168,85,247,.22);color:#e0e7ff}
.sp-bet-grid button.active{background:linear-gradient(180deg,#fbbf24,#d97706);color:#3b1607;border-color:#fbbf24;box-shadow:0 4px 16px rgba(251,191,36,.45)}

/* 中奖横幅 */
.sp-tile.matched{animation:tileMatch .45s ease-out;border-color:#fbbf24;box-shadow:0 0 24px rgba(251,191,36,.75),inset 0 0 12px rgba(251,191,36,.3)}

/* 信息栏 */
.sp-message-bar{background:linear-gradient(90deg,transparent,rgba(168,85,247,.1),transparent);padding:10px;color:rgba(199,210,254,.85);border-radius:9px}
.sp-message-bar b{color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.5)}

/* 散落符号脉冲增强 */
.sp-tile.type-scatter{background:linear-gradient(135deg,#1e1b4b 0%,#3b0764 50%,#1e1b4b 100%);border-color:rgba(251,191,36,.6);box-shadow:0 0 20px rgba(251,191,36,.4),inset 0 0 12px rgba(251,191,36,.2)}
@keyframes scatterPulse{0%,100%{box-shadow:0 0 16px rgba(251,191,36,.45),inset 0 0 12px rgba(251,191,36,.2)}50%{box-shadow:0 0 32px rgba(251,191,36,.85),inset 0 0 20px rgba(251,191,36,.4)}}
