/* ==========================================================
   新增 5 款玩法专属样式
   龙虎骰斗 / 骰雷矿场 / 幸运骰轮 / 骰子扑克 / 高低连猜
   ========================================================== */

/* ---------- 龙虎骰斗 Dragon Tiger ---------- */
.dt-stage{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
@media(max-width:620px){.dt-stage{grid-template-columns:1fr;gap:9px}}
.dt-side{
  border-radius:18px;border:1.5px solid var(--line);padding:15px 12px;text-align:center;
  background:rgba(255,255,255,.035);transition:box-shadow .3s,border-color .3s,transform .2s
}
.dt-side.dragon{background:linear-gradient(180deg,rgba(239,68,68,.16),rgba(255,255,255,.03))}
.dt-side.tiger{background:linear-gradient(180deg,rgba(76,201,240,.16),rgba(255,255,255,.03))}
.dt-side .dt-icon{font-size:34px;line-height:1}
.dt-side .dt-name{font-size:17px;font-weight:800;letter-spacing:2px;margin-top:2px}
.dt-side .dt-odds{font-size:11px;color:var(--gold);font-weight:800}
.dt-side .dice-tray{min-height:76px;margin:9px 0}
.dt-side .dt-val{font-size:28px;font-weight:800}
.dt-side.mine{border-color:var(--gold);box-shadow:0 0 24px -8px rgba(232,194,106,.9)}
.dt-side.winner{border-color:var(--green);box-shadow:0 0 34px -6px rgba(34,197,94,.95);transform:translateY(-4px)}
.dt-side.loser{opacity:.42;filter:grayscale(.55)}
.dt-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:104px}
.dt-tie{
  width:100%;padding:12px 10px;border-radius:16px;border:1.5px solid var(--line);
  background:rgba(168,85,247,.12);text-align:center
}
.dt-tie b{display:block;font-size:15px}
.dt-tie small{font-size:10.5px;color:var(--gold);font-weight:800}
.dt-tie.mine{border-color:var(--gold);box-shadow:0 0 22px -8px rgba(232,194,106,.85)}
.dt-tie.winner{border-color:var(--green);background:rgba(34,197,94,.2)}
.dt-vs{font-size:22px;font-weight:800;color:var(--gold);letter-spacing:2px}
.dt-road{display:flex;gap:4px;flex-wrap:wrap}
.road-dot{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  font-size:11px;font-weight:800;border:1.5px solid transparent
}
.road-dot.d{background:rgba(239,68,68,.22);color:#fca5a5;border-color:rgba(239,68,68,.5)}
.road-dot.t{background:rgba(76,201,240,.2);color:#7dd3fc;border-color:rgba(76,201,240,.5)}
.road-dot.e{background:rgba(168,85,247,.22);color:#d8b4fe;border-color:rgba(168,85,247,.5)}
.dt-trend{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}
.dt-trend div{padding:8px;border-radius:11px;background:rgba(255,255,255,.04);text-align:center;font-size:11px;color:var(--muted)}
.dt-trend b{display:block;font-size:16px}

/* ---------- 骰雷矿场 Dice Mines ---------- */
.mine-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:430px;margin:0 auto}
@media(max-width:480px){.mine-grid{gap:6px}}
.mine-cell{
  aspect-ratio:1;border-radius:13px;border:1.5px solid var(--line);
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  display:grid;place-items:center;font-size:20px;transition:transform .15s,box-shadow .2s,border-color .2s;
  position:relative
}
.mine-cell::after{content:"◆";opacity:.13;font-size:15px;color:#9fd4ea}
.mine-cell:hover:not(.opened):not(:disabled){transform:translateY(-3px) scale(1.04);border-color:rgba(232,194,106,.7);box-shadow:0 8px 20px -8px rgba(232,194,106,.8)}
.mine-cell.opened::after{content:none}
.mine-cell.gem{background:linear-gradient(160deg,rgba(34,197,94,.4),rgba(34,197,94,.12));border-color:rgba(34,197,94,.65);animation:diePop .4s}
.mine-cell.bomb{background:linear-gradient(160deg,rgba(239,68,68,.5),rgba(239,68,68,.15));border-color:rgba(239,68,68,.75);animation:shake .45s}
.mine-cell.revealed{opacity:.42}
.mine-cell:disabled{cursor:default}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px) rotate(-5deg)}40%{transform:translateX(5px) rotate(5deg)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.mine-next{
  display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;
  padding:10px;border-radius:13px;background:rgba(76,201,240,.09);border:1px solid rgba(76,201,240,.25);font-size:12px
}
.mine-next b{color:var(--cyan);font-size:15px}

/* ---------- 幸运骰轮 Lucky Wheel ---------- */
.wheel-wrap{position:relative;width:min(78vw,318px);margin:0 auto;aspect-ratio:1}
.wheel-disc{
  width:100%;height:100%;border-radius:50%;position:relative;
  border:7px solid rgba(232,194,106,.85);
  box-shadow:0 0 46px -10px rgba(232,194,106,.75),inset 0 0 34px rgba(0,0,0,.65);
  transition:transform 4.4s cubic-bezier(.14,.72,.05,1)
}
.wheel-disc::after{
  content:"";position:absolute;inset:32%;border-radius:50%;
  background:radial-gradient(circle,#16213a,#080d18);
  border:2.5px solid rgba(232,194,106,.6);box-shadow:inset 0 0 20px rgba(0,0,0,.9)
}
.wheel-hub{
  position:absolute;inset:0;display:grid;place-items:center;z-index:3;pointer-events:none;
  font-size:26px;font-weight:800;color:var(--gold);text-shadow:0 3px 12px rgba(0,0,0,.9)
}
.wheel-pointer{
  position:absolute;top:-15px;left:50%;transform:translateX(-50%);z-index:4;
  width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;
  border-top:24px solid var(--gold);filter:drop-shadow(0 3px 8px rgba(0,0,0,.9))
}
.wheel-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;margin-top:16px}
.wl-item{padding:8px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.035);text-align:center;font-size:11px}
.wl-item b{display:block;font-size:15px}
.wl-item span{color:var(--muted)}
.wl-item.hit{border-color:var(--green);background:rgba(34,197,94,.16);box-shadow:0 0 20px -8px rgba(34,197,94,.9)}
.risk-toggle{display:flex;gap:8px;justify-content:center}

/* ---------- 骰子扑克 Dice Poker ---------- */
.poker-hand{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;min-height:104px}
.pk-slot{display:flex;flex-direction:column;align-items:center;gap:6px}
.pk-hold{
  font-size:10.5px;padding:3px 10px;border-radius:8px;border:1px solid var(--line);
  background:rgba(255,255,255,.05);color:var(--muted);font-weight:700
}
.pk-slot.held .pk-hold{background:linear-gradient(135deg,#ffe6a6,var(--gold));color:#2a1a03;border-color:transparent}
.pk-slot.held .die{box-shadow:0 0 0 2.5px var(--gold),0 10px 22px -10px rgba(0,0,0,.9)}
.paytable{display:grid;gap:5px}
.pt-row{
  display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;
  padding:7px 11px;border-radius:10px;background:rgba(255,255,255,.03);font-size:12px;border:1px solid transparent
}
.pt-row .pt-odds{color:var(--gold);font-weight:800;min-width:52px;text-align:right}
.pt-row .pt-p{color:var(--muted);font-size:10.5px;min-width:62px;text-align:right}
.pt-row.hit{border-color:var(--green);background:rgba(34,197,94,.16);box-shadow:0 0 20px -9px rgba(34,197,94,.9)}
.pk-stage{font-size:12px;color:var(--muted);text-align:center}
.pk-stage b{color:var(--cyan)}

/* ---------- 高低连猜 Hi-Lo ---------- */
.hilo-stage{display:flex;flex-direction:column;align-items:center;gap:14px}
.hilo-cur{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.hilo-arrow{font-size:24px;color:var(--muted)}
.hilo-slot{
  width:88px;height:88px;border-radius:20px;border:2px dashed rgba(148,163,184,.35);
  display:grid;place-items:center;font-size:34px;color:var(--muted)
}
.hilo-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:470px}
.hilo-btn{
  padding:14px 10px;border-radius:15px;border:1.5px solid var(--line);
  background:rgba(255,255,255,.04);text-align:center;transition:transform .15s,border-color .2s,box-shadow .2s
}
.hilo-btn:hover:not(:disabled){transform:translateY(-3px);border-color:rgba(232,194,106,.7);box-shadow:0 10px 24px -12px rgba(232,194,106,.85)}
.hilo-btn:disabled{opacity:.3;cursor:not-allowed}
.hilo-btn i{font-size:20px;display:block;margin-bottom:5px}
.hilo-btn b{font-size:13.5px;display:block}
.hilo-btn small{font-size:11px;color:var(--gold);font-weight:800}
.hilo-btn.hi i{color:var(--green)}
.hilo-btn.lo i{color:var(--red)}
.hilo-btn.eq i{color:var(--purple)}
.hilo-chain{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.chain-node{
  padding:4px 9px;border-radius:9px;font-size:11.5px;font-weight:800;
  background:rgba(34,197,94,.16);border:1px solid rgba(34,197,94,.45);color:#86efac
}
.chain-node.x{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.45);color:#fca5a5}
.hilo-multi{
  font-size:clamp(34px,8vw,56px);font-weight:800;line-height:1;
  background:linear-gradient(90deg,var(--gold),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent
}

/* ---------- 大厅分类矩阵 ---------- */
.cat-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.cat-tab{
  padding:8px 15px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);font-size:12.5px;font-weight:700;color:#cfe0f7;
  display:flex;align-items:center;gap:6px
}
.cat-tab i{font-size:12px}
.cat-tab.on{
  border-color:transparent;color:#2a1a03;
  background:linear-gradient(135deg,#ffe6a6,var(--gold),#c8992f);
  box-shadow:0 10px 24px -12px rgba(232,194,106,.9)
}
.cat-tab .cnt{font-size:10px;opacity:.75}
.grid6.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1240px){.grid6.g4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.grid6.g4{grid-template-columns:repeat(2,1fr)}}
.cat-label{
  position:absolute;bottom:11px;left:15px;font-size:9.5px;letter-spacing:1px;
  color:var(--muted);text-transform:uppercase;z-index:2
}
.b-fast{background:linear-gradient(135deg,#22d3ee,#0ea5e9);color:#04121f}
.b-risk{background:linear-gradient(135deg,#f43f5e,#be123c);color:#fff}
.b-skill{background:linear-gradient(135deg,#34d399,#059669);color:#03231a}
