/* ══════════════════════════════════════════════════════════
   幸运转盘 + 老虎机（可视化抽奖）
   ══════════════════════════════════════════════════════════ */

/* ---------- 通用：抽奖舞台 ---------- */
.lot-stage{
  position:relative;
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  padding:22px 20px;
  border:1px solid var(--line2);
  background:
    radial-gradient(ellipse at 50% 0%,rgba(223,179,87,.10),transparent 62%),
    linear-gradient(160deg,rgba(28,22,14,.85),rgba(10,8,5,.9));
}
.lot-stage + .lot-stage{margin-top:16px}
/* 舞台左右两栏：转盘占左，老虎机占右（老虎机整体居中） */
.lot-stage-l{flex:0 0 auto}
.lot-stage-r{flex:1;min-width:300px;display:flex;justify-content:center}
.lot-stage-r:empty{display:none}
/* 只有老虎机时（转盘那栏空着）→ 老虎机居中占满 */
.lot-stage-l:empty{display:none}

/* ---------- 幸运转盘（1100 大盘，32 格） ---------- */
.lot-stage[data-mode="wheel"]{justify-content:center;flex-direction:column;align-items:center}
.lot-stage[data-mode="wheel"] .wheel-info{width:100%;max-width:1100px}
.lot-stage[data-mode="wheel"] .wheel-prizes{max-height:300px}
.wheel-wrap{
  position:relative;flex:none;
  width:1100px;height:1100px;
  margin:0 auto;
}
@media (max-width:1180px){
  .wheel-wrap{width:min(94vw,900px);height:min(94vw,900px)}
}
@media (max-width:520px){
  .wheel-wrap{width:min(94vw,340px);height:min(94vw,340px)}
}
/* 转盘圆盘 */
.wheel-disc{
  position:absolute;inset:0;
  border-radius:50%;
  border:3px solid rgba(223,179,87,.55);
  box-shadow:
    0 0 0 6px rgba(0,0,0,.5),
    0 0 34px rgba(223,179,87,.28),
    inset 0 0 40px rgba(0,0,0,.65);
  transition:transform 4.6s cubic-bezier(.13,.83,.12,1);
  transform:rotate(0deg);
  will-change:transform;
}
.wheel-disc.spinning{transition:transform 4.6s cubic-bezier(.13,.83,.12,1)}
/* 扇区：用 conic-gradient 画，JS 计算每段的起止角度 */
.wheel-disc canvas{
  position:absolute;inset:0;
  width:100%;height:100%;
  border-radius:50%;
  display:block;
}
/* 中心按钮（640 大盘按比例放大） */
.wheel-hub{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:104px;height:104px;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#f4e0ac,#c39a4e 55%,#7d5f27);
  border:2px solid rgba(255,240,200,.6);
  box-shadow:0 6px 18px rgba(0,0,0,.65),inset 0 2px 6px rgba(255,255,255,.45);
  color:#2a1e08;font-size:16px;font-weight:800;letter-spacing:1px;
  cursor:pointer;z-index:4;
  transition:transform .18s;
}
.wheel-hub:hover{transform:translate(-50%,-50%) scale(1.06)}
.wheel-hub:active{transform:translate(-50%,-50%) scale(.95)}
.wheel-hub[disabled]{opacity:.55;cursor:not-allowed;transform:translate(-50%,-50%)}
.wheel-hub span{display:block;text-align:center;line-height:1.15}
/* 指针：金针杆 + 红宝石针尖 + 顶部宝石座，指向中奖扇区 */
.wheel-needle{
  position:absolute;left:50%;top:-18px;
  transform:translateX(-50%);
  width:0;height:0;
  border-left:20px solid transparent;
  border-right:20px solid transparent;
  border-top:52px solid #e24545;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.8));
  z-index:5;
}
.wheel-needle::before{
  content:'';position:absolute;left:-4px;top:-64px;
  width:8px;height:64px;border-radius:4px;
  background:linear-gradient(180deg,#f4e0ac,#a8823c);
  box-shadow:0 2px 6px rgba(0,0,0,.6);
}
/* 指针底座 */
.wheel-needle::after{
  content:'';position:absolute;left:-29px;top:-84px;
  width:58px;height:58px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#f4e0ac,#a8823c 60%,#5d451a);
  border:2px solid rgba(255,240,200,.55);
  box-shadow:0 4px 12px rgba(0,0,0,.7);
}
/* 转盘旋转时的光晕 */
.wheel-glow{
  position:absolute;inset:-14px;border-radius:50%;
  pointer-events:none;z-index:1;
  background:radial-gradient(circle,transparent 58%,rgba(223,179,87,.30) 78%,transparent 100%);
  opacity:0;transition:opacity .4s;
}
.wheel-wrap.spinning .wheel-glow{opacity:1;animation:glowPulse 1s ease-in-out infinite}
@keyframes glowPulse{
  0%,100%{opacity:.45;transform:scale(1)}
  50%{opacity:.95;transform:scale(1.04)}
}

/* 转盘右侧信息 */
.wheel-info{flex:1;min-width:230px}
.wheel-info h4{
  margin:0 0 4px;font-size:18px;color:var(--gold);
  letter-spacing:2px;font-weight:400;
}
.wheel-info .sub{font-size:12px;color:var(--txt3);margin-bottom:14px;line-height:1.8}
/* 奖品列表 */
.wheel-prizes{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-height:220px;overflow:auto}
.wheel-prize{
  display:flex;align-items:center;gap:9px;
  padding:6px 10px;font-size:12px;
  border:1px solid transparent;border-left:2px solid var(--line2);
  background:rgba(255,255,255,.02);
  transition:.2s;
}
.wheel-prize .pi{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.wheel-prize .pi img{width:22px;height:22px;object-fit:contain}
.wheel-prize .pn{flex:1;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wheel-prize .pw{color:var(--txt3);font-size:11px}
.wheel-prize.grand{border-left-color:var(--gold);background:rgba(223,179,87,.08)}
.wheel-prize.grand .pn{color:var(--gold)}

/* 中奖闪光 */
.wheel-prize.hit{
  border-color:var(--gold);
  background:rgba(223,179,87,.22);
  box-shadow:0 0 14px rgba(223,179,87,.45);
}

/* ---------- 老虎机 ---------- */
.slot-wrap{flex:1;min-width:300px}
.slot-machine{
  position:relative;
  padding:18px 18px 16px;
  border:2px solid rgba(223,179,87,.42);
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(60,42,18,.55),rgba(20,15,8,.9)),
    linear-gradient(90deg,rgba(223,179,87,.07),transparent 40%);
  box-shadow:inset 0 0 40px rgba(0,0,0,.7),0 10px 30px rgba(0,0,0,.5);
}
.slot-machine::before{
  content:'';position:absolute;inset:6px;border-radius:6px;
  border:1px solid rgba(223,179,87,.16);pointer-events:none;
}
/* 卷轴窗口 */
.slot-reels{
  display:flex;gap:10px;justify-content:center;
  padding:12px;margin-bottom:14px;
  background:rgba(0,0,0,.5);
  border:1px solid rgba(223,179,87,.22);border-radius:6px;
  box-shadow:inset 0 3px 14px rgba(0,0,0,.85);
}
.slot-reel{
  position:relative;overflow:hidden;
  width:88px;height:96px;
  background:linear-gradient(180deg,#1a1409,#0c0904);
  border:1px solid rgba(223,179,87,.28);border-radius:5px;
}
.slot-reel::before,.slot-reel::after{
  content:'';position:absolute;left:0;right:0;height:22px;z-index:3;pointer-events:none;
}
.slot-reel::before{top:0;background:linear-gradient(180deg,rgba(0,0,0,.75),transparent)}
.slot-reel::after{bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent)}
/* 卷轴内容条（滚动的是这个） */
.slot-strip{
  position:absolute;left:0;top:0;width:100%;
  transition:transform 3.2s cubic-bezier(.16,.84,.28,1);
  will-change:transform;
}
.slot-cell{
  height:96px;
  display:grid;place-items:center;
}
.slot-cell img{width:56px;height:56px;object-fit:contain}
.slot-cell .si-emoji{font-size:40px}
.slot-cell .si-broken{width:40px;height:40px;font-size:20px}
/* 中奖行高亮框 */
.slot-reel.win{box-shadow:0 0 18px rgba(223,179,87,.6);border-color:var(--gold)}
.slot-reel.win::before{background:linear-gradient(180deg,rgba(223,179,87,.25),transparent)}

/* 老虎机按钮 */
.slot-ctl{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.slot-lever{
  position:relative;width:26px;height:74px;flex:none;
  border-radius:6px;background:rgba(0,0,0,.4);
  border:1px solid rgba(223,179,87,.3);
  overflow:hidden;
}
.slot-lever i{
  position:absolute;left:50%;top:8px;
  width:14px;height:44px;border-radius:7px;
  background:linear-gradient(180deg,#f4e0ac,#a8823c);
  transform-origin:50% 0%;
  transition:transform .3s;
}
.slot-machine.spinning .slot-lever i{animation:leverPull .5s ease-in-out}
@keyframes leverPull{
  0%{transform:rotate(0)}
  40%{transform:rotate(-38deg)}
  100%{transform:rotate(0)}
}
.slot-btn{
  padding:11px 30px;font-size:14px;font-weight:700;letter-spacing:3px;
  border:none;border-radius:4px;cursor:pointer;
  background:linear-gradient(180deg,#f0d493,#c39a4e 55%,#8a6a2c);
  color:#2a1e08;
  box-shadow:0 4px 14px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.4);
  transition:.16s;
}
.slot-btn:hover{filter:brightness(1.1)}
.slot-btn:active{transform:translateY(1px)}
.slot-btn[disabled]{opacity:.5;cursor:not-allowed;filter:none}

/* 中奖弹层特效 */
.slot-win-flash{
  position:absolute;inset:0;pointer-events:none;z-index:6;
  background:radial-gradient(circle at 50% 42%,rgba(255,240,190,.5),transparent 62%);
  opacity:0;
}
.slot-machine.win .slot-win-flash{animation:winFlash 1.5s ease-out}
@keyframes winFlash{
  0%{opacity:0}
  20%{opacity:1}
  100%{opacity:0}
}

/* ---------- 玩法分Tab（一个界面只放一个游戏） ---------- */
.lot-tabs{display:flex;gap:10px;margin-bottom:14px}
.lot-tab{
  padding:10px 22px;font-size:14px;font-weight:700;letter-spacing:2px;
  border:1px solid var(--line2);border-radius:6px;cursor:pointer;
  background:rgba(255,255,255,.03);color:var(--txt2);
}
.lot-tab.active{
  color:#2a1e08;
  background:linear-gradient(180deg,#f0d493,#c39a4e 55%,#8a6a2c);
  border-color:rgba(255,240,200,.6);
  box-shadow:0 4px 14px rgba(0,0,0,.5);
}
.lot-pane .lot-grid{display:flex;flex-direction:column;gap:16px}

/* ---------- 老虎机 · 环形跑灯 ---------- */
.slotc-wrap{flex:1;min-width:300px}
.slotc-title{
  text-align:center;font-size:18px;color:var(--gold);
  letter-spacing:3px;margin-bottom:12px;
}
/* 7×7 网格：外圈 24 格 + 盘心装饰 */
.slotc-board{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  grid-template-rows:repeat(7,auto);
  gap:8px;
  padding:18px;
  border:2px solid rgba(223,179,87,.42);
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(60,42,18,.55),rgba(20,15,8,.9));
  box-shadow:inset 0 0 40px rgba(0,0,0,.7),0 10px 30px rgba(0,0,0,.5);
  max-width:880px;margin:0 auto;
}
.slotc-cell{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:88px;padding:6px 2px;
  background:linear-gradient(180deg,#1a1409,#0c0904);
  border:1px solid rgba(223,179,87,.28);border-radius:6px;
  transition:.15s;
}
.slotc-cell .sc-ico img{width:38px;height:38px;object-fit:contain}
.slotc-cell .sc-ico .si-emoji{font-size:30px}
.slotc-cell .sc-odds{
  font-size:12px;color:var(--gold);line-height:1;margin-top:3px;
}
/* 跑灯点亮 */
.slotc-cell.lit{
  border-color:#ffe9b0;
  background:radial-gradient(circle at 50% 40%,rgba(255,240,190,.55),rgba(60,42,18,.9) 75%);
  box-shadow:0 0 16px rgba(255,220,130,.8),inset 0 0 8px rgba(255,220,130,.4);
  transform:scale(1.06);
}
/* 停稳中奖闪 */
.slotc-cell.win{animation:slotcWin .5s ease-in-out 4}
@keyframes slotcWin{
  0%,100%{box-shadow:0 0 8px rgba(255,220,130,.4)}
  50%{box-shadow:0 0 26px rgba(255,220,130,1);transform:scale(1.12)}
}
/* 盘心装饰（只做展示，不占押注功能） */
.slotc-core{
  grid-row:2/7;grid-column:2/7;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:10px;text-align:center;
  background:radial-gradient(circle at 50% 38%,rgba(223,179,87,.16),rgba(0,0,0,.5) 72%);
  border:1px solid rgba(223,179,87,.30);border-radius:8px;
}
.slotc-core-t{font-size:22px;color:var(--gold);letter-spacing:4px}
.slotc-core-sub{font-size:12px;color:var(--txt2)}
/* 操作台：盘下面通栏 */
.slotc-panel{
  width:100%;max-width:880px;margin:12px auto 0;box-sizing:border-box;
  padding:12px;overflow:hidden;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(223,179,87,.22);border-radius:8px;
}
.slotc-bets{
  display:flex;flex-wrap:nowrap;gap:6px;
  margin-bottom:10px;overflow:hidden;
}
.slotc-bet{
  flex:1 1 0;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  min-width:0;box-sizing:border-box;
  padding:6px 2px;font-size:11px;
  border:1px solid var(--line2);border-radius:6px;
  background:rgba(255,255,255,.02);
}
.slotc-bet.on{border-color:var(--gold);background:rgba(223,179,87,.12)}
.slotc-bet .sb-ico img{width:30px;height:30px;object-fit:contain}
.slotc-bet .sb-name{color:var(--txt);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slotc-bet .sb-odds{color:var(--gold);font-weight:700}
.slotc-bet .sb-amt{color:var(--txt2);min-height:14px;font-weight:700}
.slotc-bet.on .sb-amt{color:#ffe9b0}
.slotc-bet .sb-ops{display:flex;gap:4px}
.slotc-bet .sb-ops button{
  width:24px;height:22px;font-size:13px;line-height:1;cursor:pointer;
  border:1px solid var(--line2);border-radius:4px;
  background:rgba(255,255,255,.05);color:var(--txt);
}
.slotc-bet .sb-ops button:hover{border-color:var(--gold);color:var(--gold)}
.slotc-ctl{text-align:center}
.slotc-total{font-size:13px;color:var(--txt2);margin-bottom:8px}
.slotc-total b{color:var(--gold);font-size:16px}
.slotc-btns{display:flex;gap:10px;justify-content:center;margin-bottom:8px}
.slotc-hint{font-size:11px;color:var(--txt3);line-height:1.6}

/* ---------- 中奖结果弹窗里的图标 ---------- */
.prize-pop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0}
.prize-pop .pp-ico{
  width:96px;height:96px;border-radius:8px;
  display:grid;place-items:center;
  border:1px solid rgba(223,179,87,.4);
  background:
    repeating-conic-gradient(rgba(255,255,255,.04) 0 25%,transparent 0 50%) 50%/12px 12px,
    rgba(0,0,0,.35);
}
.prize-pop .pp-ico img{width:76px;height:76px;object-fit:contain}
.prize-pop .pp-ico .si-emoji{font-size:54px}
.prize-pop .pp-name{font-size:20px;color:var(--gold);font-weight:700}
.prize-pop .pp-sub{font-size:12px;color:var(--txt3)}

/* ---------- 抽奖记录里的图标 ---------- */
.draw-ico{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.draw-ico img{width:20px;height:20px;object-fit:contain}
