/* Pack-opening reveal overlay. Shared by the homepage (real pulls) and /review.html (previews). */
/* ---------- reveal overlay ---------- */
.reveal{position:fixed;inset:0;z-index:50;display:none;place-items:center;
  background:radial-gradient(circle at 50% 44%, rgba(36,26,10,.92), rgba(5,5,7,.97));backdrop-filter:blur(6px)}
.reveal.show{display:grid}
.reveal .center{position:relative;display:grid;place-items:center;width:min(94vw,560px);height:min(88vh,760px)}
.slab{width:min(64vw,300px);aspect-ratio:660/1010;perspective:1400px;z-index:3;
  filter:drop-shadow(0 26px 44px rgba(0,0,0,.6));transition:filter .5s,transform .5s}
.slab.dim{filter:brightness(.3) drop-shadow(0 26px 44px rgba(0,0,0,.6))}
.slab-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1.15s cubic-bezier(.5,0,.2,1)}
.slab.flipped .slab-inner{transform:rotateY(180deg)}
.slab-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;overflow:hidden;background:var(--paper)}
.slab-face img{width:100%;height:100%;object-fit:contain}
.slab-face.front{transform:rotateY(180deg)}
.slab.enter{animation:slabin .6s cubic-bezier(.2,1,.3,1) both}
@keyframes slabin{0%{opacity:0;transform:translateY(24px) scale(.94)}100%{opacity:1;transform:translateY(0) scale(1)}}
.slab.won{animation:slabwin 2.6s ease-in-out infinite}
@keyframes slabwin{50%{transform:translateY(-8px)}}
.suspense{position:absolute;z-index:6;font-family:var(--display);font-weight:800;letter-spacing:-.02em;color:#fff;
  font-size:clamp(44px,9vw,100px);text-align:center;opacity:0;pointer-events:none;text-shadow:0 4px 34px rgba(0,0,0,.7)}
.suspense.go{animation:susp 2s ease-in-out both}
@keyframes susp{0%{opacity:0;transform:scale(.84)}16%{opacity:1;transform:scale(1)}84%{opacity:1;transform:scale(1.03)}100%{opacity:0;transform:scale(1.06)}}
.aura{position:absolute;z-index:2;width:420px;height:420px;border-radius:50%;opacity:0;
  background:radial-gradient(circle,var(--glow,rgba(243,179,61,.5)),transparent 62%)}
.aura.on{opacity:1;animation:aurap 2.6s ease-in-out infinite}
@keyframes aurap{50%{transform:scale(1.14);opacity:.65}}
.flash{position:absolute;z-index:5;width:200px;height:280px;border-radius:16px;background:#fff;opacity:0}
.flash.go{animation:flash .6s ease-out forwards}
@keyframes flash{0%{opacity:0;transform:scale(.7)}25%{opacity:.95}100%{opacity:0;transform:scale(2.2)}}
.spark{position:absolute;z-index:4;width:9px;height:9px;border-radius:50%;pointer-events:none;animation:sp 1s ease-out forwards}
@keyframes sp{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
.detail{position:absolute;bottom:0;z-index:7;width:min(92vw,440px);display:none;flex-direction:column;align-items:center;gap:10px;
  background:var(--paper);border:1px solid var(--line2);border-top:2px solid var(--aura,var(--red));border-radius:16px;padding:16px 20px 20px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.detail.show{display:flex;animation:detin .5s cubic-bezier(.2,1,.3,1) both}
@keyframes detin{0%{opacity:0;transform:translateY(24px)}100%{opacity:1;transform:translateY(0)}}
.detail .rar{font:700 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--aura,#e5352b)}
.detail .nm{font-weight:700;font-size:16px;line-height:1.3;color:var(--ink)}
.detail .meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}
.detail .chip{font-size:11.5px;color:var(--ink2);background:var(--paper2);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.detail .rgrade{font:700 11px var(--mono);padding:4px 10px;border-radius:6px;color:#fff}
.detail .val{margin-top:4px;font-size:13px;color:var(--muted)}
.detail .val b{display:block;font-family:var(--display);font-size:32px;color:var(--red);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.ad-line{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.ad-line-label{font:700 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ad-line-tx{font-size:13.5px;font-weight:800;color:var(--blue);text-decoration:none;letter-spacing:.3px}
.ad-line-tx:hover{text-decoration:underline}
