/* =====================================================================
   JM RADIO — jeux.css : espace jeux du compte auditeur
   (roue de la chance, ticket à gratter, pince à peluches)
   ===================================================================== */
#acGames { position: relative; }
.gx-head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
.gx-wallet { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border-radius: 16px; background: linear-gradient(135deg, rgba(251, 191, 36, 0.12), rgba(231, 37, 53, 0.08)); border: 1px solid rgba(251, 191, 36, 0.28); }
.gx-coin { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; color: #111; background: radial-gradient(circle at 35% 30%, #FEF3C7, #F59E0B 60%, #B45309); box-shadow: 0 6px 18px rgba(245, 158, 11, 0.35), inset 0 -3px 0 rgba(0, 0, 0, 0.15); flex: none; }
.gx-wallet-txt { flex: 1; min-width: 150px; display: flex; flex-direction: column; }
.gx-wallet-txt b { font-size: 1.15rem; font-weight: 900; color: #fff; }
.gx-wallet-txt b span { font-variant-numeric: tabular-nums; }
.gx-wallet-txt small { font-size: 0.76rem; color: #94A3B8; }
.gx-tier { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px; font-size: 0.78rem; font-weight: 800; color: #fff; background: rgba(0, 0, 0, 0.3); border: 1px solid var(--t); }
.gx-tier i { color: var(--t); }
.gx-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gx-tab { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.03); color: #CBD5E1; font-family: inherit; text-align: left; cursor: pointer; transition: all .18s ease; min-width: 0; }
.gx-tab > i { width: 36px; height: 36px; flex: none; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.06); font-size: 1rem; color: #94A3B8; transition: all .18s ease; }
.gx-tab span { display: flex; flex-direction: column; min-width: 0; }
.gx-tab b { font-size: 0.86rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gx-tab small { font-size: 0.7rem; color: #94A3B8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gx-tab:hover { border-color: rgba(231, 37, 53, 0.45); }
.gx-tab.active { border-color: rgba(231, 37, 53, 0.7); background: rgba(231, 37, 53, 0.1); }
.gx-tab.active > i { background: linear-gradient(135deg, #F0414F, #C4162A); color: #fff; box-shadow: 0 6px 16px rgba(231, 37, 53, 0.35); }
.gx-body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.gx-stage { position: relative; min-height: 440px; padding: 18px; border-radius: 20px; background: radial-gradient(120% 90% at 50% 0%, rgba(231, 37, 53, 0.16), rgba(231, 37, 53, 0) 60%), rgba(5, 8, 15, 0.55); border: 1px solid rgba(255, 255, 255, 0.07); overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
.gx-cta { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.gx-low { margin: 0; font-size: 0.8rem; color: #FCA5A5; text-align: center; }
.gx-aside { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.gx-box { padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07); }
.gx-box h3 { margin: 0 0 10px; font-size: 0.86rem; font-weight: 900; color: #fff; display: flex; align-items: center; gap: 8px; }
.gx-box h3 i { color: #FBBF24; }
.gx-prizes, .gx-claims { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.gx-prizes li, .gx-claims li { display: flex; align-items: flex-start; gap: 10px; }
.gx-prizes b, .gx-claims b { display: block; font-size: 0.84rem; color: #fff; }
.gx-prizes small, .gx-claims small { display: block; font-size: 0.72rem; color: #94A3B8; margin-top: 2px; }
.gx-claims li > div { min-width: 0; flex: 1; }
.gx-sym { width: 34px; height: 34px; flex: none; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 0.95rem; }
.gx-sym.pts { color: #111; background: linear-gradient(135deg, #FDE68A, #F59E0B); }
.gx-sym.vip { color: #fff; background: linear-gradient(135deg, #7C86FF, #4752C4); }
.gx-sym.gift { color: #fff; background: linear-gradient(135deg, #34D399, #059669); }
.gx-fine { margin: 12px 0 0; font-size: 0.72rem; color: #64748B; line-height: 1.5; }
.gx-fine a { color: #FCA5A5; font-weight: 700; }
.gx-st { display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 999px; font-size: 0.68rem; font-weight: 800; }
.gx-st.wait { color: #FDE68A; background: rgba(251, 191, 36, 0.12); }
.gx-st.ok { color: #6EE7B7; background: rgba(16, 185, 129, 0.14); }
.gx-st.off { color: #94A3B8; background: rgba(148, 163, 184, 0.12); }
.gx-empty { margin: 0; font-size: 0.8rem; color: #94A3B8; }
.gx-hist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.gx-hist li { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 7px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.05); font-size: 0.78rem; color: #94A3B8; }
.gx-hist li:last-child { border-bottom: 0; }
.gx-hist li.gx-empty { display: block; border: 0; }
.gx-hist li b { color: #CBD5E1; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gx-hist li.win b { color: #6EE7B7; }
.gx-hist li.malus b { color: #FCA5A5; }
.gx-hist li.bonus { grid-template-columns: 62px minmax(0, 1fr) auto; }
.gx-hist li.bonus b { white-space: normal; }
.gx-hist time { font-size: 0.7rem; color: #64748B; white-space: nowrap; }
.gx-claim-form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.gx-claim-form .ac-input { flex: 1; min-width: 160px; height: 40px; }
.gx-claim-form .ac-msg { flex-basis: 100%; }

/* ---------- Résultat (par-dessus le jeu) ---------- */
.gx-result { position: absolute; inset: 0; z-index: 20; display: flex; align-items: center; justify-content: center; padding: 18px; background: rgba(3, 6, 12, 0.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: gxFade .25s ease both; }
.gx-result-card { width: min(380px, 100%); text-align: center; padding: 26px 22px 20px; border-radius: 22px; background: #0E1322; border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5); animation: gxPop .45s cubic-bezier(.2, 1.4, .4, 1) both; }
.gx-result.win .gx-result-card { border-color: rgba(251, 191, 36, 0.55); }
.gx-result-ico { width: 74px; height: 74px; margin: 0 auto 12px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; color: #111; background: radial-gradient(circle at 35% 30%, #FEF3C7, #F59E0B 60%, #B45309); box-shadow: 0 12px 30px rgba(245, 158, 11, 0.45); }
.gx-result.lose .gx-result-ico { color: #CBD5E1; background: rgba(255, 255, 255, 0.07); box-shadow: none; }
.gx-result h3 { margin: 0 0 6px; font-size: 1.45rem; font-weight: 900; color: #fff; }
.gx-result p { margin: 0 0 14px; font-size: 0.9rem; color: #CBD5E1; line-height: 1.5; }
.gx-result-claim { text-align: left; margin: 0 0 12px; }
.gx-result-claim p { margin: 0 0 6px; font-size: 0.82rem; }
.gx-ok { color: #6EE7B7 !important; font-weight: 700; }
.gx-result-acts { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.gx-confetti { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 21; }
@keyframes gxFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes gxPop { from { opacity: 0; transform: scale(.8) translateY(10px); } to { opacity: 1; transform: none; } }

/* ---------- Roue de la chance ---------- */
.gx-wheel-wrap { width: 100%; display: flex; justify-content: center; }
.gx-wheel { position: relative; width: min(360px, 82vw); aspect-ratio: 1; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.45)); }
.gx-w-svg { width: 100%; height: 100%; display: block; }
.gx-w-rot { transform-origin: 160px 160px; }
.gx-w-t { font-family: Inter, system-ui, sans-serif; font-weight: 900; font-size: 26px; fill: #FFFFFF; letter-spacing: .5px; }
.gx-w-t.long { font-size: 12px; letter-spacing: .5px; }
.gx-w-t.lose { font-size: 11px; fill: rgba(255, 255, 255, 0.45); letter-spacing: 2px; }
.gx-w-s { font-family: Inter, system-ui, sans-serif; font-weight: 800; font-size: 8.5px; fill: rgba(255, 255, 255, 0.85); letter-spacing: 1.6px; }
.gx-w-bulb { fill: #FDE68A; animation: gxBulb 0.9s infinite alternate; }
.gx-wheel.spinning .gx-w-bulb { animation-duration: .25s; }
@keyframes gxBulb { from { opacity: .35; } to { opacity: 1; } }
.gx-w-pointer { position: absolute; top: -6px; left: 50%; width: 30px; height: 40px; transform: translateX(-50%); transform-origin: 50% 20%; background: linear-gradient(180deg, #FFFFFF, #E2E8F0); clip-path: polygon(50% 100%, 0 25%, 15% 0, 85% 0, 100% 25%); filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.5)); z-index: 2; }
.gx-w-pointer::after { content: ''; position: absolute; left: 50%; top: 7px; width: 10px; height: 10px; border-radius: 50%; background: #E72535; transform: translateX(-50%); }
.gx-wheel.spinning .gx-w-pointer { animation: gxTick .12s infinite alternate; }
@keyframes gxTick { from { transform: translateX(-50%) rotate(-9deg); } to { transform: translateX(-50%) rotate(5deg); } }
.gx-w-hub { position: absolute; left: 50%; top: 50%; width: 23%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; border: 3px solid rgba(255, 255, 255, 0.85); background: radial-gradient(circle at 35% 30%, #FF6B78, #E72535 55%, #9F1239); color: #fff; font-family: inherit; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(231, 37, 53, 0.5); z-index: 3; transition: transform .15s ease; }
.gx-w-hub span { font-size: clamp(0.62rem, 2.4vw, 0.8rem); font-weight: 900; letter-spacing: .6px; }
.gx-w-hub small { font-size: 0.6rem; opacity: .85; }
.gx-w-hub:hover:not(:disabled) { transform: translate(-50%, -50%) scale(1.06); }
.gx-w-hub:disabled { cursor: default; filter: grayscale(.4); }
.gx-wheel.won { animation: gxGlow 1s ease 2; }
@keyframes gxGlow { 50% { filter: drop-shadow(0 0 28px rgba(251, 191, 36, 0.75)); } }

/* ---------- Ticket à gratter ---------- */
.gx-ticket-wrap { width: 100%; display: flex; justify-content: center; }
.gx-ticket { width: min(440px, 100%); padding: 16px; border-radius: 20px; background: linear-gradient(145deg, #E72535, #9F1239); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 0 0 2px rgba(255, 255, 255, 0.18); color: #fff; position: relative; }
.gx-ticket::before { content: ''; position: absolute; inset: 7px; border-radius: 15px; border: 2px dashed rgba(255, 255, 255, 0.28); pointer-events: none; }
.gx-ticket-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.gx-ticket-top img { width: 38px; height: 38px; border-radius: 10px; background: #0B0F17; }
.gx-ticket-top b { display: block; font-size: 1rem; font-weight: 900; letter-spacing: 1px; color: #FFFFFF; }
.gx-ticket-top small { display: block; font-size: 0.72rem; color: #FECACA; text-transform: uppercase; letter-spacing: 1.2px; font-weight: 800; }
.gx-ticket-no { margin-left: auto; font-size: 0.7rem; font-weight: 800; color: #FECACA; font-variant-numeric: tabular-nums; }
.gx-ticket-rule { margin: 0 0 12px; font-size: 0.82rem; color: #FFF1F2; }
.gx-ticket-zone { position: relative; border-radius: 14px; overflow: hidden; background: #FFF7ED; touch-action: none; }
.gx-cells { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 10px; }
.gx-cell { aspect-ratio: 1.15; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; background: #FFFFFF; border: 1px solid #FED7AA; color: #94A3B8; font-size: 1.6rem; transition: transform .3s ease, box-shadow .3s ease; }
.gx-cell b { font-size: 0.82rem; font-weight: 900; }
.gx-cell.pts { color: #D97706; }
.gx-cell.pts.big { color: #B45309; }
.gx-cell.vip { color: #4752C4; }
.gx-cell.gift { color: #059669; }
.gx-cell.deco { color: #94A3B8; }
.gx-cell.match { transform: scale(1.06); background: #FEF3C7; box-shadow: 0 0 0 3px #F59E0B, 0 10px 22px rgba(245, 158, 11, 0.35); animation: gxMatch .6s ease 3; }
@keyframes gxMatch { 50% { transform: scale(1.12); } }
.gx-scratch { position: absolute; inset: 0; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.gx-ticket-buy { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(15, 23, 42, 0.35); }
.gx-ticket-buy[hidden] { display: none; }
.gx-ticket-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; font-size: 0.74rem; color: #FECACA; }
.gx-ticket-foot .ac-link { color: #FFFFFF; }
.gx-ticket-foot .ac-link:disabled { opacity: .45; cursor: default; }

/* ---------- Pince à peluches ---------- */
.gx-claw-wrap { width: 100%; display: flex; justify-content: center; }
.gx-machine { width: min(500px, 100%); border-radius: 24px 24px 18px 18px; padding: 10px; background: linear-gradient(180deg, #E72535, #9F1239); box-shadow: 0 20px 44px rgba(0, 0, 0, 0.5), inset 0 0 0 2px rgba(255, 255, 255, 0.15); }
.gx-m-top { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 4px 0 10px; }
.gx-m-top b { font-size: 1rem; font-weight: 900; letter-spacing: 3px; color: #FFFFFF; text-shadow: 0 0 12px rgba(255, 255, 255, 0.6); }
.gx-m-lights { width: 60px; height: 8px; border-radius: 999px; background: repeating-linear-gradient(90deg, #FDE68A 0 8px, rgba(253, 230, 138, 0.25) 8px 16px); animation: gxLights 0.8s linear infinite; }
.gx-machine.running .gx-m-lights { animation-duration: .25s; }
@keyframes gxLights { to { background-position: 16px 0; } }
.gx-m-glass { position: relative; height: 330px; border-radius: 14px; overflow: hidden; background: linear-gradient(180deg, #172036 0%, #0B1222 100%); border: 3px solid rgba(255, 255, 255, 0.2); }
.gx-m-glass::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0.06) 100%); pointer-events: none; z-index: 6; }
.gx-m-rail { position: absolute; left: 0; right: 0; top: 0; height: 14px; background: linear-gradient(180deg, #94A3B8, #475569); z-index: 4; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.35); }
.gx-m-carriage { position: absolute; left: 0; top: 1px; width: 28px; height: 12px; border-radius: 4px; background: linear-gradient(180deg, #E2E8F0, #94A3B8); border: 1px solid #475569; }
.gx-claw { position: absolute; left: 0; top: 0; width: 90px; z-index: 5; will-change: transform; transform-origin: 45px 0; }
.gx-claw-cable { width: 4px; margin: 0 auto; height: 4px; background: repeating-linear-gradient(180deg, #CBD5E1 0 3px, #94A3B8 3px 6px); }
.gx-claw-head svg { display: block; width: 90px; height: 80px; overflow: visible; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.35)); }
.gx-cl-body { fill: #CBD5E1; stroke: #64748B; stroke-width: 2; }
.gx-cl-joint { fill: #FBBF24; stroke: #B45309; stroke-width: 2; }
.gx-cl-prong { fill: #E2E8F0; stroke: #64748B; stroke-width: 2; }
.gx-cl-arm { transform-origin: 45px 24px; }
.gx-pile { position: absolute; inset: 0; z-index: 3; }
.gx-ball { position: absolute; left: 0; top: 0; width: var(--d, 56px); height: var(--d, 56px); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; font-size: calc(var(--d, 56px) * 0.34); will-change: transform; box-shadow: inset -6px -8px 12px rgba(0, 0, 0, 0.25), inset 5px 6px 10px rgba(255, 255, 255, 0.35), 0 5px 10px rgba(0, 0, 0, 0.35); }
.gx-ball::after { content: ''; position: absolute; left: 18%; top: 12%; width: 30%; height: 20%; border-radius: 50%; background: rgba(255, 255, 255, 0.45); filter: blur(2px); transform: rotate(-25deg); }
.gx-ball b { font-size: calc(var(--d, 56px) * 0.2); font-weight: 900; line-height: 1; }
.gx-ball.pts { color: #78350F; background: radial-gradient(circle at 35% 30%, #FEF3C7, #FBBF24 55%, #D97706); }
.gx-ball.pts.big { background: radial-gradient(circle at 35% 30%, #FFF7ED, #F59E0B 50%, #B45309); }
.gx-ball.vip { color: #FFFFFF; background: radial-gradient(circle at 35% 30%, #C7D2FE, #5865F2 55%, #3730A3); }
.gx-ball.gift { color: #FFFFFF; background: radial-gradient(circle at 35% 30%, #A7F3D0, #10B981 55%, #047857); }
.gx-ball.held { z-index: 6; }
.gx-chute { position: absolute; left: 3%; bottom: 0; width: 15%; height: 17%; border-radius: 10px 10px 0 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.10), rgba(0, 0, 0, 0.55)); border: 2px solid rgba(255, 255, 255, 0.25); border-bottom: 0; display: flex; align-items: flex-start; justify-content: center; z-index: 7; backdrop-filter: blur(1px); }
.gx-chute span { margin-top: 6px; font-size: 0.55rem; font-weight: 900; letter-spacing: 1px; color: rgba(255, 255, 255, 0.7); }
.gx-m-floor { position: absolute; left: 0; right: 0; bottom: 0; height: 12px; background: linear-gradient(180deg, #1E293B, #0B1222); border-top: 1px solid rgba(255, 255, 255, 0.08); z-index: 2; }
.gx-m-panel { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 6px 4px; }
.gx-m-screen { flex: 1; min-width: 0; padding: 9px 12px; border-radius: 10px; background: #0B0F17; color: #FBBF24; font-family: 'Courier New', monospace; font-weight: 700; font-size: 0.8rem; letter-spacing: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.25); }
.gx-machine.won .gx-m-screen { color: #6EE7B7; }
.gx-m-btn { width: 76px; height: 76px; flex: none; border-radius: 50%; border: 4px solid #FFFFFF; background: radial-gradient(circle at 35% 30%, #FDE68A, #F59E0B 55%, #B45309); color: #111; font-family: inherit; font-weight: 900; font-size: 0.78rem; letter-spacing: .6px; cursor: pointer; box-shadow: 0 6px 0 #7C2D12, 0 10px 20px rgba(0, 0, 0, 0.35); transition: transform .1s ease, box-shadow .1s ease; }
.gx-m-btn:active:not(:disabled) { transform: translateY(4px); box-shadow: 0 2px 0 #7C2D12, 0 4px 10px rgba(0, 0, 0, 0.35); }
.gx-m-btn:disabled { cursor: default; filter: grayscale(.5) brightness(.8); }

@media (max-width: 1100px) { .gx-body { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
    .gx-tabs { grid-template-columns: 1fr 1fr; }
    .gx-tab { flex-direction: column; text-align: center; gap: 6px; padding: 10px 6px; }
    .gx-tab small { display: none; }
    .gx-tab b { font-size: 0.74rem; white-space: normal; }
    .gx-stage { padding: 12px; min-height: 380px; }
    .gx-m-glass { height: 290px; }
}
.gx-ticket-buy.again { background: rgba(15, 23, 42, 0.18); align-items: flex-end; padding-bottom: 12px; }

/* ---------- Machine à sous ---------- */
.gx-slot-wrap { width: 100%; display: flex; justify-content: center; }
.gx-slot { position: relative; width: min(470px, calc(100% - 34px)); margin-right: 34px; border-radius: 24px 24px 18px 18px; padding: 10px; background: linear-gradient(180deg, #E72535, #9F1239); box-shadow: 0 20px 44px rgba(0, 0, 0, 0.5), inset 0 0 0 2px rgba(255, 255, 255, 0.15); }
.gx-slot.running .gx-m-lights { animation-duration: .25s; }
.gx-s-window { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 10px; border-radius: 14px; background: linear-gradient(180deg, #0B1222, #172036 50%, #0B1222); border: 3px solid rgba(255, 255, 255, 0.2); }
.gx-reel { position: relative; height: 228px; overflow: hidden; border-radius: 10px; background: linear-gradient(180deg, #CBD5E1 0%, #FFFFFF 22%, #FFFFFF 78%, #CBD5E1 100%); box-shadow: inset 0 10px 14px rgba(0, 0, 0, 0.35), inset 0 -10px 14px rgba(0, 0, 0, 0.35); }
.gx-reel.stop { animation: gxReelStop .25s ease; }
@keyframes gxReelStop { 30% { transform: translateY(3px); } }
.gx-strip { will-change: transform; }
.gx-strip.blur .gx-s-cell { filter: blur(1.6px); }
.gx-s-cell { height: 76px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-size: 1.9rem; border-bottom: 1px solid rgba(15, 23, 42, 0.06); }
.gx-s-cell b { font-size: 0.8rem; font-weight: 900; }
.gx-s-cell.pts { color: #D97706; }
.gx-s-cell.pts.big { color: #B45309; }
.gx-s-cell.vip { color: #4752C4; }
.gx-s-cell.gift { color: #059669; }
.gx-s-cell.deco { color: #94A3B8; }
.gx-s-cell.win { animation: gxMatch .6s ease 4; background: rgba(251, 191, 36, 0.28); }
.gx-s-line { position: absolute; left: 4px; right: 4px; top: 50%; height: 3px; margin-top: -1.5px; background: linear-gradient(90deg, rgba(231, 37, 53, 0), #E72535 8%, #E72535 92%, rgba(231, 37, 53, 0)); box-shadow: 0 0 8px rgba(231, 37, 53, 0.7); pointer-events: none; }
.gx-slot.won .gx-s-line { background: #FBBF24; box-shadow: 0 0 14px rgba(251, 191, 36, 0.9); }
.gx-slot.won .gx-m-screen { color: #6EE7B7; }
.gx-lever { position: absolute; right: -34px; top: 70px; width: 30px; height: 150px; border: 0; background: none; padding: 0; cursor: pointer; }
.gx-lever-stick { position: absolute; left: 12px; bottom: 0; width: 7px; height: 120px; border-radius: 4px; background: linear-gradient(90deg, #94A3B8, #F1F5F9, #94A3B8); transform-origin: 50% 100%; transition: transform .25s ease; }
.gx-lever-ball { position: absolute; left: 1px; top: 0; width: 28px; height: 28px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FF8A94, #E72535 55%, #9F1239); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.45); transform-origin: 14px 150px; transition: transform .25s ease; }
.gx-lever.pull .gx-lever-stick { animation: gxLeverS .7s ease; }
.gx-lever.pull .gx-lever-ball { animation: gxLeverB .7s ease; }
@keyframes gxLeverS { 35% { transform: scaleY(-0.15); } 100% { transform: none; } }
@keyframes gxLeverB { 35% { transform: translateY(118px); } 100% { transform: none; } }
.gx-lever:disabled { cursor: default; filter: grayscale(.4); }
@media (max-width: 640px) {
    .gx-reel { height: 186px; }
    .gx-s-cell { height: 62px; font-size: 1.5rem; }
    .gx-s-cell b { font-size: 0.68rem; }
}
