/* ============================================================
   巫师幸运轮（赌场里的紫金老虎机）
   ------------------------------------------------------------
   类名统一前缀 wizard-slot-，只作用于这一屏；不碰全局 token，
   也不碰赌场那一桌（阿瓦达转转转那套在 casino.css）。

   配色（创作者定的紫金）：
     底 #1B102D / 面板 #291841 / 辅紫 #56347D / 主金 #E4BC65 /
     亮金 #FFE5A0 / 正文暖白 / 次级灰紫。
   ============================================================ */

.wizard-slot {
  --ws-bg: #1b102d;
  --ws-panel: #291841;
  --ws-panel-2: #221437;
  --ws-purple: #56347d;
  --ws-gold: #e4bc65;
  --ws-gold-hi: #ffe5a0;
  --ws-text: #f5eefb;
  --ws-dim: #a99bc4;
  --ws-cell: 70px;

  position: relative;
  overflow: hidden;
  margin: var(--sp-3) auto var(--sp-2);
  padding: var(--sp-3);
  max-width: 560px;
  border: 1px solid rgba(228, 188, 101, 0.5);
  border-radius: 12px;
  background:
    radial-gradient(120% 60% at 50% -8%, rgba(86, 52, 125, 0.55), transparent 62%),
    radial-gradient(100% 70% at 50% 118%, rgba(0, 0, 0, 0.6), transparent 60%),
    linear-gradient(180deg, var(--ws-panel), var(--ws-bg) 88%);
  box-shadow:
    inset 0 0 0 1px rgba(228, 188, 101, 0.12),
    inset 0 0 60px rgba(0, 0, 0, 0.55),
    0 18px 44px rgba(0, 0, 0, 0.62);
  color: var(--ws-text);
}
/* 上面那片微弱的星光（纯 CSS，慢慢飘） */
@keyframes wsTwinkle {
  0%, 100% { opacity: 0.35; transform: translate3d(0, 0, 0); }
  50% { opacity: 0.75; transform: translate3d(0, -4px, 0); }
}
.wizard-slot::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 229, 160, 0.5) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 12%, rgba(255, 229, 160, 0.4) 0 1px, transparent 2px),
    radial-gradient(circle at 68% 74%, rgba(206, 170, 240, 0.42) 0 1px, transparent 2px),
    radial-gradient(circle at 28% 86%, rgba(255, 229, 160, 0.34) 0 1px, transparent 2px);
  background-size: 120px 110px, 150px 130px, 170px 150px, 190px 160px;
  animation: wsTwinkle 7s ease-in-out infinite;
}
.wizard-slot > * { position: relative; z-index: 1; }

/* ── 顶部：余额 + 换机器 + 规则 ── */
.wizard-slot-top { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.wizard-slot-top-act { display: flex; align-items: center; gap: var(--sp-2); }
.wizard-slot-balance { display: flex; flex-direction: column; gap: 1px; }
.wizard-slot-balance-lb { font-size: var(--fs-xs); letter-spacing: 0.2em; color: var(--ws-dim); }
.wizard-slot-balance-val {
  font-family: var(--font-hand);
  font-size: var(--fs-l);
  line-height: 1.1;
  color: var(--ws-gold-hi);
  text-shadow: 0 0 16px rgba(228, 188, 101, 0.36);
}

/* ── 下注档位 ── */
.wizard-slot-bets { display: flex; gap: var(--sp-2); margin: var(--sp-2) 0 0; }
.wizard-slot-bet {
  flex: 1 1 0;
  min-width: 0;
  padding: 7px 4px 8px;
  font-family: var(--font-body);
  font-size: var(--fs-s);
  letter-spacing: 0.06em;
  color: var(--ws-dim);
  background: linear-gradient(180deg, rgba(34, 20, 55, 0.9), rgba(20, 12, 34, 0.92));
  border: 1px solid rgba(86, 52, 125, 0.7);
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.16s ease, color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.wizard-slot-bet:hover:not(:disabled) { color: var(--ws-gold-hi); border-color: rgba(228, 188, 101, 0.6); }
.wizard-slot-bet.is-on {
  color: #2a1b08;
  background: linear-gradient(180deg, var(--ws-gold-hi), var(--ws-gold));
  border-color: var(--ws-gold-hi);
  box-shadow: 0 0 0 1px rgba(255, 229, 160, 0.5), 0 0 18px rgba(228, 188, 101, 0.42);
  transform: translateY(-2px);
}
.wizard-slot-bet:disabled { cursor: not-allowed; }
.wizard-slot-bet.is-locked:not(.is-on) { opacity: 0.45; }

/* ── 机器：滚轮 + 拉杆 ── */
.wizard-slot-machine {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin: var(--sp-3) auto var(--sp-2);
  padding: var(--sp-2);
  border-radius: 10px;
  border: 1px solid rgba(228, 188, 101, 0.34);
  background:
    radial-gradient(90% 70% at 50% 0%, rgba(86, 52, 125, 0.4), transparent 66%),
    linear-gradient(180deg, #1d1233, #140c25 92%);
  box-shadow: inset 0 0 26px rgba(0, 0, 0, 0.6), 0 6px 18px rgba(0, 0, 0, 0.45);
}
.wizard-slot-reels { position: relative; display: flex; gap: 8px; flex: 1 1 auto; min-width: 0; }
.wizard-slot-reel {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  height: calc(var(--ws-cell) * 3);
  overflow: hidden;
  border: 1px solid rgba(228, 188, 101, 0.4);
  border-radius: 8px;
  background: linear-gradient(180deg, #150d26, #0d0819 92%);
  box-shadow: inset 0 10px 18px rgba(0, 0, 0, 0.7), inset 0 -10px 18px rgba(0, 0, 0, 0.7);
}
/* 上下压暗一点：中间那一行才是要看的 */
.wizard-slot-reel::before,
.wizard-slot-reel::after {
  content: '';
  position: absolute; left: 0; right: 0; height: var(--ws-cell);
  pointer-events: none; z-index: 2;
}
.wizard-slot-reel::before { top: 0; background: linear-gradient(180deg, rgba(6, 3, 14, 0.9), transparent); }
.wizard-slot-reel::after { bottom: 0; background: linear-gradient(0deg, rgba(6, 3, 14, 0.9), transparent); }

.wizard-slot-strip { display: flex; flex-direction: column; will-change: transform; }
.wizard-slot-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--ws-cell);
  font-size: calc(var(--ws-cell) * 0.5);
  line-height: 1;
  filter: saturate(0.94);
  transition: transform 0.22s ease, filter 0.22s ease;
}
/* 停稳那一下：亮一下、弹一下 */
@keyframes wsStop {
  0% { transform: scale(1); }
  38% { transform: scale(1.16); }
  100% { transform: scale(1); }
}
.wizard-slot-cell.is-stop { animation: wsStop 420ms ease; filter: brightness(1.5) drop-shadow(0 0 12px rgba(255, 229, 160, 0.6)); }

/* 中奖线：**中间那一排外面套一圈金框**（不是一条横线）。
   框横跨三个滚轮，中间断开的地方正好是各自窗口的缝——看着就是一条线穿过三格。 */
.wizard-slot-line {
  position: absolute;
  left: 1px; right: 1px;
  top: 50%;
  height: var(--ws-cell);
  transform: translateY(-50%);
  z-index: 3;
  pointer-events: none;
  border: 2px solid rgba(255, 229, 160, 0.88);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 229, 160, 0.08), rgba(255, 229, 160, 0.02));
  box-shadow:
    0 0 12px rgba(255, 229, 160, 0.42),
    inset 0 0 16px rgba(255, 229, 160, 0.16);
}
@keyframes wsLinePulse {
  0%, 100% { box-shadow: 0 0 12px rgba(255, 229, 160, 0.4), inset 0 0 16px rgba(255, 229, 160, 0.15); }
  50% { box-shadow: 0 0 20px rgba(255, 229, 160, 0.62), inset 0 0 22px rgba(255, 229, 160, 0.24); }
}

/* ── 多线机那五条线（含两条斜线）：按格子实际位置画出来的 SVG ── */
.wizard-slot-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
  overflow: visible;
}
.wizard-slot-poly {
  fill: none;
  stroke: rgba(228, 188, 101, 0.34);
  stroke-width: 1.5;
  transition: stroke 0.2s ease, stroke-width 0.2s ease;
}
/* 中的那条：亮金 + 加粗 + 发光；没中的压暗（转完才标） */
.wizard-slot-poly.is-win {
  stroke: #ffe5a0;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 5px rgba(255, 229, 160, 0.85));
}
/* 中奖那一把：那一排跟着亮 */
.wizard-slot-strip.is-win .wizard-slot-cell:nth-last-child(2) {
  filter: brightness(1.35) drop-shadow(0 0 16px rgba(255, 229, 160, 0.75));
}
@keyframes wsWinPop {
  0% { transform: scale(1); }
  40% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
.wizard-slot-strip.is-win .wizard-slot-cell:nth-last-child(2) { animation: wsWinPop 620ms ease 2; }

/* ── 多线机（5×3）：格子矮一档，五个轮子平分宽度 ── */
.wizard-slot.is-multi { --ws-cell: 54px; }
.wizard-slot.is-multi .wizard-slot-reels { gap: 6px; }
.wizard-slot.is-multi .wizard-slot-reel { border-color: rgba(228, 188, 101, 0.52); }
.wizard-slot.is-multi .wizard-slot-cell { font-size: calc(var(--ws-cell) * 0.52); }

/* ── 拉杆 ── */
.wizard-slot-lever {
  position: relative;
  flex: none;
  width: 54px;
  height: calc(var(--ws-cell) * 3);
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.wizard-slot-lever-base {
  position: absolute; left: 50%; bottom: 6px; width: 40px; height: 12px;
  transform: translateX(-50%);
  border-radius: 4px;
  background: linear-gradient(180deg, #6d4d9c, #2b1a48);
  box-shadow: inset 0 1px 0 rgba(255, 229, 160, 0.28), 0 3px 8px rgba(0, 0, 0, 0.6);
}
.wizard-slot-lever-rod {
  position: absolute; left: 50%; bottom: 16px; width: 7px; height: calc(100% - 60px);
  transform: translateX(-50%);
  transform-origin: 50% 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #8e6fc0, #4a2f79 55%, #26163f);
  box-shadow: inset 0 0 0 1px rgba(255, 229, 160, 0.14);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.wizard-slot-lever-ball {
  position: absolute; left: 50%; top: 2px; width: 26px; height: 26px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, #fff3cf, #e4bc65 46%, #8a6420);
  box-shadow: 0 0 16px rgba(228, 188, 101, 0.5), inset 0 -3px 5px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* 扳下去：杆子与球一起往下挪一段，然后自己弹回 */
.wizard-slot-lever.is-pulled .wizard-slot-lever-rod { transform: translateX(-50%) scaleY(0.68); }
.wizard-slot-lever.is-pulled .wizard-slot-lever-ball { transform: translateX(-50%) translateY(46px); }
.wizard-slot-lever.is-locked { cursor: not-allowed; filter: saturate(0.6) brightness(0.8); }
.wizard-slot-lever:hover:not(.is-locked) .wizard-slot-lever-ball { box-shadow: 0 0 22px rgba(255, 229, 160, 0.75), inset 0 -3px 5px rgba(0, 0, 0, 0.3); }

/* ── 主按钮 ── */
.wizard-slot-go-row { display: flex; justify-content: center; margin: var(--sp-2) 0 var(--sp-1); }
.btn.wizard-slot-go {
  width: auto;
  min-width: 190px;
  padding: 9px 26px 10px;
  text-align: center;
  font-size: var(--fs-m);
  letter-spacing: 0.14em;
  color: #2a1b08;
  background: linear-gradient(180deg, var(--ws-gold-hi), var(--ws-gold) 62%, #b5893c);
  border: 1px solid rgba(255, 229, 160, 0.9);
  border-radius: 9px;
  box-shadow: 0 3px 0 rgba(90, 62, 20, 0.5), 0 10px 22px rgba(0, 0, 0, 0.45);
  transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}
.btn.wizard-slot-go:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 5px 0 rgba(90, 62, 20, 0.45), 0 14px 26px rgba(0, 0, 0, 0.5), 0 0 22px rgba(228, 188, 101, 0.4); }
.btn.wizard-slot-go:active:not(:disabled) { transform: translateY(1px); box-shadow: 0 1px 0 rgba(90, 62, 20, 0.5); }
.btn.wizard-slot-go:disabled { opacity: 0.6; filter: saturate(0.7); cursor: not-allowed; }

/* 规则那颗小按钮：低调的紫边 */
.btn.wizard-slot-ghost {
  width: auto;
  padding: 6px 16px 7px;
  font-size: var(--fs-s);
  letter-spacing: 0.1em;
  color: var(--ws-gold-hi);
  background: linear-gradient(180deg, rgba(38, 23, 62, 0.9), rgba(20, 12, 34, 0.92));
  border: 1px solid rgba(228, 188, 101, 0.5);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 229, 160, 0.14), 0 2px 8px rgba(0, 0, 0, 0.4);
}
.btn.wizard-slot-ghost:hover { border-color: var(--ws-gold-hi); box-shadow: 0 0 14px rgba(228, 188, 101, 0.32); }

/* ── 结果区（紧凑：判定一行 + 两列小格） ── */
.wizard-slot-result { margin-top: var(--sp-1); }
.wizard-slot-idle { margin: 0; text-align: center; font-size: var(--fs-s); color: var(--ws-dim); }
.wizard-slot-out {
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid rgba(86, 52, 125, 0.6);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(28, 17, 47, 0.9), rgba(16, 9, 28, 0.92));
}
.wizard-slot-out.is-lose { border-color: rgba(120, 96, 150, 0.4); filter: saturate(0.8); }
@keyframes wsWinGlow {
  0% { box-shadow: 0 0 0 rgba(228, 188, 101, 0); }
  40% { box-shadow: 0 0 26px rgba(228, 188, 101, 0.5); }
  100% { box-shadow: 0 0 12px rgba(228, 188, 101, 0.25); }
}
.wizard-slot-out.is-win { border-color: rgba(255, 229, 160, 0.8); animation: wsWinGlow 900ms ease both; }
.wizard-slot-out.is-big { border-width: 2px; }
.wizard-slot-verdict {
  margin: 0 0 6px;
  text-align: center;
  font-size: var(--fs-m);
  letter-spacing: 0.06em;
  color: var(--ws-gold-hi);
  text-shadow: 0 0 18px rgba(228, 188, 101, 0.42);
}
.wizard-slot-verdict.lose { color: var(--ws-dim); font-size: var(--fs-s); text-shadow: none; }
.wizard-slot-verdict.big { font-size: var(--fs-xl); animation: wsWinPop 720ms ease 2; }
/* 结果里那几个数：两列排，一行一对，六格只占三行高 */
.wizard-slot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px var(--sp-3); }
.wizard-slot-kv { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; min-width: 0; }
.wizard-slot-kv-k { flex: none; font-size: var(--fs-xs); color: var(--ws-dim); }
.wizard-slot-kv-v {
  min-width: 0;
  font-family: var(--font-hand);
  font-size: var(--fs-s);
  color: var(--ws-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.wizard-slot-kv-v.win { color: var(--ws-gold-hi); }
.wizard-slot-kv-v.lose { color: #d6a3a0; }

/* 多线机：把中的那几条线一条条列出来（线名 / 连了几个 / 该档倍率 / 这条赔多少） */
.wizard-slot-linewins { display: flex; flex-direction: column; gap: 2px; margin: 0 0 7px; }
.wizard-slot-linewin {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  align-items: baseline;
  gap: var(--sp-2);
  padding: 1px 0 1px 6px;
  border-left: 2px solid var(--ws-gold);
  font-size: var(--fs-xs);
}
.wizard-slot-linewin .lw-name { color: var(--ws-gold-hi); letter-spacing: 0.06em; }
.wizard-slot-linewin .lw-combo { color: var(--ws-text); }
.wizard-slot-linewin .lw-mult { color: var(--ws-dim); }
.wizard-slot-linewin .lw-pay { font-family: var(--font-hand); font-size: var(--fs-s); color: var(--ws-gold-hi); text-align: right; }

/* ── 最近十把（窄条：一行一对，十行也只占一小条） ── */
.wizard-slot-hist {
  max-width: 560px;
  margin: 0 auto var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid rgba(228, 188, 101, 0.24);
  border-radius: 10px;
  background: rgba(16, 9, 28, 0.6);
}
.wizard-slot-hist-empty, .wizard-slot-hist-cap { margin: 0; font-size: var(--fs-xs); letter-spacing: 0.12em; color: var(--ws-dim); }
.wizard-slot-hist-cap { margin-bottom: 3px; }
.wizard-slot-hist-row {
  display: grid;
  grid-template-columns: 62px 40px 1fr auto;
  align-items: center;
  gap: var(--sp-2);
  padding: 1px 0 1px 5px;
  border-left: 2px solid transparent;
  font-size: var(--fs-xs);
  line-height: 1.5;
}
/* 第一行（最好的一把）：一道金边 + 亮一档 */
.wizard-slot-hist-row.is-best { border-left-color: var(--ws-gold); background: rgba(228, 188, 101, 0.07); }
.wizard-slot-hist-row.is-best .wizard-slot-hist-mult,
.wizard-slot-hist-row.is-best .wizard-slot-hist-payout { color: var(--ws-gold-hi); }
.wizard-slot-hist-combo { font-size: 13px; letter-spacing: 0.5px; white-space: nowrap; overflow: hidden; }
.wizard-slot-hist-mult { color: var(--ws-dim); }
.wizard-slot-hist-payout { color: var(--ws-dim); text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wizard-slot-hist-row.win .wizard-slot-hist-mult { color: var(--ws-gold-hi); }
.wizard-slot-hist-net { font-family: var(--font-hand); text-align: right; white-space: nowrap; }
.wizard-slot-hist-net.up { color: #a8d99a; }
.wizard-slot-hist-net.down { color: #cf9a97; }

/* ── 大奖金屑 ── */
.wizard-slot-sparks { position: absolute; inset: 0; pointer-events: none; z-index: 2; overflow: hidden; border-radius: inherit; }
@keyframes wsSpark {
  0% { transform: translateY(-10px) scale(0.6); opacity: 0; }
  25% { opacity: 1; }
  100% { transform: translateY(120px) scale(1.1); opacity: 0; }
}
.wizard-slot-spark {
  position: absolute; top: -8px; width: 6px; height: 6px; border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #fff6d8, #e4bc65 60%, rgba(228, 188, 101, 0));
  box-shadow: 0 0 10px rgba(255, 229, 160, 0.8);
  animation: wsSpark 2000ms ease-in forwards;
}
.wizard-slot-spark.s0 { left: 10%; animation-delay: 0ms; }
.wizard-slot-spark.s1 { left: 22%; animation-delay: 120ms; }
.wizard-slot-spark.s2 { left: 34%; animation-delay: 240ms; }
.wizard-slot-spark.s3 { left: 46%; animation-delay: 60ms; }
.wizard-slot-spark.s4 { left: 58%; animation-delay: 300ms; }
.wizard-slot-spark.s5 { left: 70%; animation-delay: 180ms; }
.wizard-slot-spark.s6 { left: 84%; animation-delay: 380ms; }

/* ── 规则弹窗（紫金那一身） ── */
.sheet.wizard-slot-sheet {
  width: min(94vw, 560px);
  background-image: none;
  background:
    radial-gradient(120% 60% at 50% -8%, rgba(86, 52, 125, 0.5), transparent 64%),
    linear-gradient(180deg, #291841, #1b102d 90%);
  border: 1px solid rgba(228, 188, 101, 0.5);
  color: #f5eefb;
}
.sheet.wizard-slot-sheet .sheet-head { border-bottom: 1px solid rgba(228, 188, 101, 0.3); }
.sheet.wizard-slot-sheet .sheet-head h2 { color: var(--ws-gold-hi, #ffe5a0); letter-spacing: 0.06em; }
.sheet.wizard-slot-sheet .x-btn {
  border: 1px solid rgba(228, 188, 101, 0.5);
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(70, 44, 108, 0.9), rgba(24, 14, 40, 0.94));
}
.sheet.wizard-slot-sheet .acts { justify-content: center; }
.sheet.wizard-slot-sheet .acts .btn { min-width: 120px; width: auto; }

.wizard-slot-rules p { margin: 0 0 7px; font-size: var(--fs-s); line-height: 1.75; color: #ddd3ee; }
.wizard-slot-rules p strong { color: #ffe5a0; }
.wizard-slot-rule-head, .wizard-slot-rule-row {
  display: grid;
  grid-template-columns: 34px 1fr 56px 76px;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
}
/* 多线机那张表多两列（3 连 / 4 连 / 5 连） */
.wizard-slot-rule-head.five, .wizard-slot-rule-row.five {
  grid-template-columns: 30px 1fr 52px 56px 62px 64px;
  gap: 4px;
}
.wizard-slot-rule-head { border-bottom: 1px solid rgba(228, 188, 101, 0.35); }
.wizard-slot-rule-row { border-bottom: 1px solid rgba(86, 52, 125, 0.4); }
.wizard-slot-rule-head span { font-size: var(--fs-xs); letter-spacing: 0.1em; color: #a99bc4; }
.wizard-slot-rule-emoji { font-size: 20px; text-align: center; }
.wizard-slot-rule-name { font-size: var(--fs-s); color: #f5eefb; }
.wizard-slot-rule-mult { font-family: var(--font-hand); font-size: var(--fs-m); color: #ffe5a0; text-align: right; }
.wizard-slot-rule-p { font-size: var(--fs-s); color: #cbbfe4; text-align: right; }
.wizard-slot-rule-sum { margin-top: 10px !important; color: #ffe5a0 !important; }
.wizard-slot-rule-note { color: #a99bc4 !important; font-size: var(--fs-xs) !important; }

/* ── 窄屏：滚轮小一档、拉杆挪到下面，整屏尽量一屏放得下（不用上下滑） ── */
@media (max-width: 560px) {
  .wizard-slot { --ws-cell: 52px; padding: var(--sp-2); margin-top: var(--sp-2); }
  .wizard-slot-top { gap: var(--sp-2); }
  .wizard-slot-balance-val { font-size: var(--fs-m); }
  .wizard-slot-machine { flex-direction: column; gap: var(--sp-1); }
  .wizard-slot-reels { width: 100%; gap: 6px; }
  .wizard-slot-lever { width: 100%; height: 46px; }
  .wizard-slot-lever-base { left: 50%; bottom: 0; }
  .wizard-slot-lever-rod { left: 50%; bottom: 8px; width: 7px; height: 22px; }
  .wizard-slot-lever-ball { left: 50%; top: 0; width: 20px; height: 20px; }
  .wizard-slot-lever.is-pulled .wizard-slot-lever-ball { transform: translateX(-50%) translateY(22px); }
  .wizard-slot-lever.is-pulled .wizard-slot-lever-rod { transform: translateX(-50%) scaleY(0.6); }
  .wizard-slot-bet { font-size: var(--fs-xs); padding: 7px 2px 8px; }
  .btn.wizard-slot-go { min-width: 0; width: 100%; padding: 9px 12px 10px; }
  .wizard-slot-verdict { font-size: var(--fs-s); margin-bottom: 4px; }
  .wizard-slot-verdict.big { font-size: var(--fs-m); }
  .wizard-slot-grid { gap: 1px var(--sp-2); }
  .wizard-slot-hist { margin-bottom: var(--sp-2); padding: 5px var(--sp-2); }
  .wizard-slot-hist-cap { margin-bottom: 2px; }
  /* 手机上两列排：十条只占五行，省一半高度。总返还那一列收掉（净收益已经说清输赢）。 */
  .wizard-slot-hist { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--sp-2); align-content: start; }
  .wizard-slot-hist-cap, .wizard-slot-hist-empty { grid-column: 1 / -1; }
  .wizard-slot-hist-row { grid-template-columns: 48px 30px auto; gap: 4px; padding: 0 0 0 4px; line-height: 1.35; font-size: 11px; }
  .wizard-slot-hist-payout { display: none; }
  .wizard-slot-hist-combo { font-size: 12px; }
  .wizard-slot-rule-head, .wizard-slot-rule-row { grid-template-columns: 28px 1fr 46px 64px; }
  .wizard-slot-rule-head.five, .wizard-slot-rule-row.five { grid-template-columns: 24px 1fr 44px 46px 50px 54px; gap: 3px; }
  .wizard-slot.is-multi { --ws-cell: 46px; }
  .wizard-slot-top-act { gap: 6px; }
  .btn.wizard-slot-ghost { padding: 6px 10px 7px; font-size: var(--fs-xs); }
}

@media (prefers-reduced-motion: reduce) {
  .wizard-slot::before,
  .wizard-slot-cell.is-stop,
  .wizard-slot-strip.is-win .wizard-slot-cell:nth-last-child(2),
  .wizard-slot-out.is-win,
  .wizard-slot-verdict.big,
  .wizard-slot-spark { animation: none; }
  .wizard-slot-bet, .wizard-slot-lever-rod, .wizard-slot-lever-ball, .wizard-slot-cell { transition: none; }
}
