* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: radial-gradient(900px 500px at 50% -10%, #3a1d52, #1a0f2e); color: #f3e9ff;
    min-height: 100vh; display: flex; flex-direction: column; align-items: center; }
.sl-header { width: 100%; max-width: 480px; display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; }
.sl-header h1 { margin: 0; font-size: 1.5rem; font-weight: 800; }
.sl-header h1 span { font-size: 0.55rem; color: #b79fd6; font-weight: 600; }
.header-actions { display: flex; gap: 8px; align-items: center; }
.sl-main { width: 100%; max-width: 480px; padding: 6px 16px 28px; display: flex; flex-direction: column; align-items: center; }

.machine { position: relative; background: linear-gradient(180deg, #2a1840, #1d1030); border: 3px solid #ffd24a;
    border-radius: 16px; padding: 18px; margin: 8px 0 6px; box-shadow: 0 10px 40px rgba(0,0,0,0.5); }
.reels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.reel { width: 88px; height: 110px; background: #fff; border-radius: 10px; display: flex; align-items: center; justify-content: center;
    font-size: 3.2rem; box-shadow: inset 0 2px 8px rgba(0,0,0,0.25); }
.reel.spinning { filter: blur(0.6px); animation: shake 0.12s linear infinite; }
@keyframes shake { 0%,100% { transform: translateY(-1px); } 50% { transform: translateY(1px); } }
.payline { position: absolute; left: 10px; right: 10px; top: 50%; height: 2px; background: rgba(255,210,74,0.5); }

.winline { min-height: 28px; font-weight: 800; font-size: 1.2rem; margin: 6px 0 10px; color: #b79fd6; }
.winline.win { color: #ffd24a; }

.sl-controls { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.credit-box { font-size: 1.15rem; } .credit-box strong { color: #6fe39a; font-variant-numeric: tabular-nums; }
.bet-box { display: flex; align-items: center; gap: 10px; } .bet-box strong { color: #ffd24a; }
.ctrl { background: #3a2358; color: #f3e9ff; border: 1px solid #5a3a86; border-radius: 8px; padding: 8px 12px; font-weight: 700; cursor: pointer; font-family: inherit; }
.ctrl.small { font-size: 0.72rem; padding: 5px 9px; }
.spin-btn { background: linear-gradient(180deg,#ffd24a,#f0b000); color: #2a1f00; border: none; border-radius: 999px; padding: 14px 56px; font-size: 1.3rem; font-weight: 800; cursor: pointer; }
.spin-btn:disabled { opacity: 0.5; cursor: not-allowed; }

.paytable { width: 100%; max-width: 320px; margin-top: 18px; background: rgba(0,0,0,0.25); border: 1px solid #5a3a86; border-radius: 10px; padding: 8px 12px; }
.pt-row { display: flex; justify-content: space-between; font-size: 0.85rem; padding: 2px 0; color: #d9c9f2; font-variant-numeric: tabular-nums; }
.pt-row span:last-child { color: #6fe39a; font-weight: 700; }

.version-info { position: fixed; bottom: 6px; right: 8px; font-size: 0.65rem; color: rgba(255,255,255,0.35); }
