:root .mine-cell{position:relative;isolation:isolate;overflow:visible;transition:background-color .24s,border-color .24s;touch-action:manipulation}
:root .mine-cell:not(:disabled):hover{transform:none;border-color:#a6d7f580}
.mine-lid,.mine-prize,.mine-ring{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;pointer-events:none}
.mine-lid{opacity:1;background:linear-gradient(145deg,#38424b,#262e36);box-shadow:inset 0 1px 0 #d4eaf718,inset 0 -3px 0 #0a101c40}
.mine-cell.revealed .mine-lid{opacity:0}
.mine-prize{opacity:0;padding:3px}
:root .mine-prize .gem{animation:none;width:100%;height:100%;object-fit:contain;pointer-events:none}
.mine-ring{opacity:0;border:1px solid #a6d7f5b3}
.mine-cell.hit .mine-ring{border-color:#d5a1ad}
.mine-bomb{display:grid;place-items:center;color:#dfadb7}
.mine-bomb .ui-icon{width:58%;height:58%;min-width:25px;min-height:25px}
.mine-cell[aria-busy=true] .mine-lid{border:1px solid #a6d7f5a6}
:root .stage-upgrade .upgrade-wheel,:root .stage-upgrade .wheel-spinner{animation:none;rotate:none}
:root .stage-upgrade .wheel-spinner{transform:rotate(0deg);z-index:3}
:root .stage-upgrade .wheel-arrow{top:-15px;bottom:auto;width:24px;height:30px;left:calc(50% - 12px);clip-path:polygon(0 0,100% 0,50% 100%);transform:none;background:var(--text);filter:none}
.upgrade-source-art{display:grid;place-items:center;min-width:0}
.upgrade-source-art>img{width:100%;height:180px;object-fit:contain}
.upgrade-source-art>.upgrade-placeholder{border:0;background:none}
.upgrade-outcome{position:absolute;top:28px;right:28px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;opacity:0;background:#a6d7f51a;color:var(--accent)}
.upgrade-wheel[data-phase=win] .upgrade-outcome,.upgrade-wheel[data-phase=loss] .upgrade-outcome{opacity:1}
.upgrade-wheel[data-phase=loss] .upgrade-outcome{color:#d3acb4;background:#d3acb41a}
.upgrade-ring{position:absolute;inset:-7px;border:1px solid #a6d7f599;border-radius:50%;pointer-events:none;opacity:0}
:root .game-result:has(.game-reward){align-items:center}
:root .game-result .game-reward{display:flex;align-items:center;gap:18px;min-width:0}
.game-reward-copy{display:grid;gap:7px;min-width:0}
.game-reward-art{position:relative;display:grid;place-items:center;flex:0 0 110px;width:110px;height:110px}
.game-reward-art>img{position:relative;width:100%;height:100%;object-fit:contain;z-index:1}
.reward-halo{position:absolute;inset:12%;border:1px solid #a6d7f580;border-radius:50%;opacity:0;pointer-events:none}
.reward-spark{position:absolute;left:50%;top:50%;width:4px;height:4px;background:#d3ebfb;opacity:0;border-radius:1px;pointer-events:none}
:root .reward-dialog{width:420px;max-width:calc(100vw - 32px);padding:0;border-radius:24px;background:#1b2128;border:1px solid var(--line);color:var(--text);overflow:hidden}
.received-sheet{position:relative;display:flex;flex-direction:column;align-items:center;padding:36px 28px 28px;gap:8px;text-align:center}
.received-art{position:relative;width:220px;height:220px;display:grid;place-items:center;isolation:isolate}
.received-art:before{content:"";position:absolute;inset:8%;background:radial-gradient(#a6d7f51f,transparent 70%);border-radius:50%;z-index:-1}
.received-art>img{width:100%;height:100%;object-fit:contain}
.received-sheet h2{font:650 24px/1.2 var(--font-display);margin:10px 0 0}
.received-sheet>span{font-size:13px;color:var(--text-3)}
.received-sheet>strong{font-size:17px;font-weight:650;margin:8px 0 18px}
.received-sheet>.received-remainder{margin:-15px 0 14px}
.received-sheet>.btn{width:100%;gap:8px}
:root .case-opening{padding:18px;overflow:hidden}
.case-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.case-opening[data-count="1"] .case-lanes{grid-template-columns:1fr}
.case-opening[data-count="5"] .case-lanes{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-lane{--reel-card-width:154px;--reel-gap:12px;min-width:0;overflow:hidden;background:#151c23;border:1px solid var(--line);border-radius:12px}
.case-opening[data-count="1"] .case-lane{--reel-card-width:200px;--reel-gap:16px}
.case-window{height:calc(var(--reel-card-width) + 40px);position:relative;overflow:hidden;isolation:isolate}
.case-window:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#151c23 0,transparent 18%,transparent 82%,#151c23 100%);z-index:2}
.case-track{position:absolute;left:50%;top:20px;display:flex;gap:var(--reel-gap);width:max-content;align-items:center}
:root .case-track .gift-card{flex:0 0 var(--reel-card-width);width:var(--reel-card-width);height:var(--reel-card-width);min-height:0;padding:12px;min-width:0;border-radius:10px;box-shadow:none;background:#202830}
.case-track .gift-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.case-track .gift-card strong,.case-track .gift-card span,.case-track .gift-card b{display:none}
.case-focus{position:absolute;top:19px;height:calc(var(--reel-card-width) + 2px);left:50%;width:calc(var(--reel-card-width) + 2px);transform:translateX(-50%);border:1px solid #a6d7f52e;border-radius:11px;pointer-events:none;z-index:3;transition:border-color .3s}
.case-lane[data-phase=received] .case-focus{border-color:#a6d7f599}
.case-pointer{position:absolute;left:50%;top:0;transform:translateX(-50%);width:16px;height:10px;clip-path:polygon(0 0,100% 0,50% 100%);background:var(--accent);z-index:4}
.case-lane-caption{display:grid;align-content:center;justify-items:center;gap:4px;min-height:64px;padding:10px 8px;border-top:1px solid var(--line);text-align:center}
.case-lane-caption strong{font-size:14px;font-weight:650}
.case-lane-caption span{font-size:11px;color:var(--text-3)}
.case-lane-caption:empty:before{content:"";width:28px;height:3px;background:#a6d7f533;border-radius:3px}
.case-window .reward-halo{inset:22% 32%;z-index:4}
.case-window .reward-spark{z-index:4}
:root .case-result-bar{flex-wrap:wrap;gap:14px}
:root .case-form[aria-busy=true] select,:root .case-form[aria-busy=true] input{cursor:wait}
@media(max-width:700px){
  :root .reward-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:24px 24px 0 0;border-bottom:0}
  .received-sheet{padding:28px 24px max(24px,env(safe-area-inset-bottom))}
  .received-sheet>.sheet-handle{position:absolute;top:9px;left:calc(50% - 18px);margin:0}
  .upgrade-source-art{width:58px;height:72px;grid-row:span 3}
  .upgrade-source-art>img{height:72px}
  .upgrade-source-art>.upgrade-placeholder{height:72px}
  .upgrade-outcome{top:18px;right:18px;width:28px;height:28px}
  :root .game-result .game-reward{gap:10px}
  .game-reward-art{flex-basis:76px;width:76px;height:76px}
  :root .case-opening{padding:10px}
  .case-lanes,.case-opening[data-count="5"] .case-lanes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .case-lane{--reel-card-width:112px;--reel-gap:8px;border-radius:10px}
  .case-opening[data-count="1"] .case-lane{--reel-card-width:178px;--reel-gap:12px}
  .case-track{top:18px}
  :root .case-track .gift-card{padding:8px}
  .case-focus{top:17px}
  .case-lane-caption{min-height:59px}
  .case-lane-caption strong{font-size:12px}
  .case-lane-caption span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .mine-cell,.case-focus{transition:none}
}
