/* ===== Meow Battle · Store v2 (treasure hall, 1920 x 1080 canvas scaled to fit) ===== */
#storeScr { position: absolute; inset: 0; z-index: 42; pointer-events: auto; opacity: 0; transition: opacity .5s ease; background: #07050c; overflow: hidden; }
#storeScr.on { opacity: 1; }
#storeScr[hidden] { display: none !important; }
#storeScr, #storeScr *, #storeScr *::before, #storeScr *::after { box-sizing: border-box; }
#storeScr .st-cvs { position: absolute; left: 0; top: 0; width: 1920px; height: 1080px; transform-origin: 0 0; overflow: hidden; }

/* hall */
.st-bg { position: absolute; left: 0; top: -2px; width: 1920px; height: 1084px; background-size: cover; opacity: 0; transition: opacity 1s ease; }
.st-bg.on { opacity: 1; }
.st-vig { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 3, 10, 0) 55%, rgba(5, 3, 10, .55) 72%, rgba(5, 3, 10, .82) 100%),
              radial-gradient(ellipse 80% 75% at 38% 52%, rgba(0, 0, 0, 0) 55%, rgba(4, 2, 8, .6) 100%); }
.st-dust { position: absolute; left: 470px; top: 120px; width: 520px; height: 700px; pointer-events: none; }
.st-dust i { position: absolute; bottom: 0; width: calc(3px * var(--s)); height: calc(3px * var(--s)); border-radius: 50%; background: var(--dust, #ffe2a8); box-shadow: 0 0 6px var(--dust, #ffcf7a); opacity: 0; animation: st2Dust var(--d, 10s) linear infinite; animation-delay: var(--w, 0s); }
@keyframes st2Dust { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: .85; } 80% { opacity: .5; } 100% { transform: translate(var(--x, 20px), -620px); opacity: 0; } }

/* pack on the pedestal */
.st-packwrap { position: absolute; left: 710px; top: 0; width: 0; height: 0; }
.st-aura { position: absolute; left: -330px; top: 150px; width: 660px; height: 660px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, var(--aura) 0%, rgba(0, 0, 0, 0) 62%); mix-blend-mode: screen; opacity: .75; animation: st2Breath 5s ease-in-out infinite; }
@keyframes st2Breath { 50% { opacity: .55; transform: scale(.96); } }
.st-pshadow { position: absolute; left: -150px; top: 792px; width: 300px; height: 40px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(ellipse, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0) 70%); animation: st2Shadow 6s ease-in-out infinite; }
@keyframes st2Shadow { 50% { transform: scale(.88); opacity: .75; } }
.st-pglow { position: absolute; left: -190px; top: 785px; width: 380px; height: 60px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(ellipse, var(--floor) 0%, rgba(0, 0, 0, 0) 70%); mix-blend-mode: screen; }
.st-float { position: absolute; left: -200px; top: 150px; width: 400px; height: 610px; animation: st2Float 6s ease-in-out infinite; will-change: transform; }
@keyframes st2Float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
.st-tilt { position: absolute; inset: 0; transition: transform .6s cubic-bezier(.2, .8, .3, 1); will-change: transform; }
.st-pack { position: absolute; left: 50%; top: 0; height: 610px; width: auto; transform: translateX(-50%); opacity: 1;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .45)); transition: opacity .45s ease, transform .55s cubic-bezier(.2, .8, .3, 1); pointer-events: none; user-select: none; }
.st-pack.out { opacity: 0; transform: translateX(-50%) translateY(30px) scale(.92); }
.st-pack.in0 { opacity: 0; transform: translateX(-50%) translateY(-24px) scale(1.04); transition: none; }
.st-glint { position: absolute; left: 0; top: 0; width: 400px; height: 610px; pointer-events: none; overflow: hidden;
  -webkit-mask: var(--m) center top / auto 610px no-repeat; mask: var(--m) center top / auto 610px no-repeat; }
.st-glint::before { content: ""; position: absolute; top: -10%; bottom: -10%; width: 34%; left: -50%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 246, 220, .32) 50%, rgba(255, 255, 255, 0)); animation: st2Glint 7s ease-in-out infinite; animation-delay: 1.5s; }
@keyframes st2Glint { 0%, 72% { left: -50%; } 100% { left: 120%; } }

/* 360 turntable */
.st-spincv { position: absolute; left: 50%; top: 0; height: 610px; width: auto; transform: translateX(-50%); display: none; pointer-events: none; }
.st-spinmode .st-spincv { display: block; }
.st-spinmode .st-pack { visibility: hidden; }
.st-grab { position: absolute; left: -210px; top: 140px; width: 420px; height: 640px; cursor: grab; touch-action: none; display: none; z-index: 3; }
.st-can-spin .st-grab { display: block; }
.st-spinning .st-grab { cursor: grabbing; }
.st-turned .st-glint, .st-spinning .st-glint { opacity: 0; }
.st-glint { transition: opacity .3s; }
.st-hint { position: absolute; left: 710px; top: 1020px; transform: translateX(-50%); display: none; flex-direction: column; align-items: center; gap: 0; pointer-events: none;
  color: rgba(243, 223, 176, .62); font: 700 12px/1 Cinzel, serif; letter-spacing: .22em; text-transform: uppercase; transition: opacity .6s; text-shadow: 0 1px 3px #000; }
.st-hint svg { width: 150px; height: 30px; margin-bottom: -4px; }
.st-can-spin .st-hint { display: flex; }
.st-hint.gone { opacity: 0; }

/* top bar */
.st-back { position: absolute; left: 44px; top: 38px; width: 66px; height: 62px; border: 0; padding: 0 0 3px; cursor: pointer;
  background: url(s2_btn2.webp) center/contain no-repeat; display: grid; place-items: center; color: #f1d48a; transition: transform .2s, filter .2s; }
.st-back svg { width: 22px; height: 22px; filter: drop-shadow(0 2px 2px #000); }
.st-back:hover { transform: translateY(-2px); filter: brightness(1.15); }
.st-wallet { position: absolute; left: 126px; top: 40px; height: 58px; width: 300px; display: flex; align-items: center; padding: 0 1px 1px 9px;
  border-style: solid; border-width: 8px 17px 9px 17px; border-image: url(s2_btn1.webp) 30 60 32 60 fill stretch; color: #f3e7c8; }
.st-wallet .lb { font: 700 11px/1 Cinzel, serif; letter-spacing: .2em; color: #a8936c; margin-right: 14px; }
.st-wallet .am { font: 800 27px/1 'Barlow Condensed', sans-serif; color: #fff1cf; letter-spacing: .01em; transition: color .3s; }
.st-wallet .am.hit { color: #ffd27a; }
.st-wallet .cu { font: 700 13px/1 Barlow, sans-serif; color: #b9a684; letter-spacing: .14em; margin: 7px 0 0 7px; }
.st-wallet .dep { margin-left: auto; width: 31px; height: 31px; border: 0; border-radius: 4px; cursor: pointer; display: grid; place-items: center; color: #2a1a08; padding: 0;
  background: linear-gradient(180deg, #fbe7a8, #d9a94e 55%, #a87428); box-shadow: inset 0 1px 0 #fff6d0, inset 0 -2px 0 #7a5018, 0 2px 4px rgba(0, 0, 0, .6); transition: filter .2s, transform .2s; }
.st-wallet .dep svg { width: 14px; height: 14px; }
.st-wallet .dep:hover { filter: brightness(1.12); transform: translateY(-1px); }

/* panel */
.st-panel { position: absolute; left: 1344px; top: 40px; width: 520px; height: 1000px; border-style: solid; border-width: 100px 46px 72px 46px;
  border-image: url(s2_panel.webp) 200 90 140 90 fill stretch; pointer-events: none; }
.st-pin { position: absolute; left: 1390px; top: 112px; width: 428px; height: 862px; color: #efe3c6; font-family: Barlow, sans-serif; }
.st-tabs { display: flex; justify-content: space-between; height: 134px; padding: 0 4px; }
.st-tab { width: 128px; height: 134px; text-align: center; position: relative; opacity: .5; filter: saturate(.7); border: 0; background: none; padding: 0; cursor: pointer; transition: opacity .3s, filter .3s; display: block; }
.st-tab img { position: relative; height: 92px; display: block; margin: 0 auto 10px; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .6)); transition: transform .3s cubic-bezier(.2, .8, .3, 1.3); z-index: 1; }
.st-tab b { position: relative; display: block; font: 700 13px/1 Cinzel, serif; letter-spacing: .14em; color: #d8c49a; z-index: 1; }
.st-tab:hover { opacity: .85; filter: none; }
.st-tab:hover img { transform: translateY(-4px); }
.st-tab.on { opacity: 1; filter: none; }
.st-tab::before { content: ""; position: absolute; left: 4px; right: 4px; top: 0; height: 100px; border-radius: 50%; background: radial-gradient(ellipse, var(--aura) 0%, rgba(0, 0, 0, 0) 68%); opacity: 0; transition: opacity .4s; }
.st-tab.on::before { opacity: .9; }
.st-tab.on b { color: #ffe7a6; text-shadow: 0 0 10px rgba(255, 210, 120, .45); }
.st-tab::after { content: ""; position: absolute; left: 50%; bottom: -12px; width: 8px; height: 8px; transform: translateX(-50%) rotate(45deg) scale(0);
  background: linear-gradient(135deg, #fff3c4, #c9973c); box-shadow: 0 0 8px rgba(255, 210, 120, .8); transition: transform .3s; }
.st-tab.on::after { transform: translateX(-50%) rotate(45deg) scale(1); }
.st-rule { height: 14px; position: relative; margin: 8px 0 18px; }
.st-rule::before { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 1px; background: linear-gradient(90deg, rgba(201, 151, 60, 0), #c9973c 20%, #f3d78e 50%, #c9973c 80%, rgba(201, 151, 60, 0)); }
.st-rule::after { content: ""; position: absolute; left: 50%; top: 2px; width: 9px; height: 9px; transform: translateX(-50%) rotate(45deg); background: #16101c; border: 1px solid #e8c77a; }
.st-info { transition: opacity .22s, transform .22s; }
.st-info.swap { opacity: 0; transform: translateY(6px); }
.st-name { font: 900 42px/1 Cinzel, serif; text-align: center; letter-spacing: .04em; background: linear-gradient(180deg, #fff4cf 0%, #f0cf7f 45%, #b9862f 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .7)); }
.st-sub { text-align: center; margin-top: 10px; font: 500 17px/1.3 Barlow, sans-serif; color: #bcae95; letter-spacing: .02em; }
.st-contents { display: flex; gap: 10px; margin: 22px 0 0; }
.st-chip { flex: 1; border: 1px solid rgba(232, 199, 122, .28); border-radius: 6px; padding: 10px 12px 9px; text-align: center; background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)); }
.st-chip i { display: block; font: normal 800 30px/1 'Barlow Condensed', sans-serif; color: #fff1cf; }
.st-chip span { display: block; margin-top: 5px; font: 600 12px/1 Barlow, sans-serif; letter-spacing: .14em; color: #a99878; text-transform: uppercase; }
.st-oddsh { margin: 26px 0 10px; font: 700 12px/1 Cinzel, serif; letter-spacing: .2em; color: #c9b58c; display: flex; justify-content: space-between; }
.st-oddsh em { font: 600 11px/1 Barlow, sans-serif; font-style: normal; color: #8d7f68; letter-spacing: .1em; }
.st-odd { display: grid; grid-template-columns: 14px 104px 1fr 54px; align-items: center; gap: 10px; height: 25px; font: 600 15px/1 Barlow, sans-serif; color: #e4d7ba; }
.st-gem { width: 11px; height: 11px; transform: rotate(45deg); border-radius: 2px; box-shadow: 0 0 8px var(--c); background: var(--c); }
.st-bar { height: 5px; border-radius: 3px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.st-bar u { display: block; height: 100%; background: linear-gradient(90deg, var(--c), #fff8); border-radius: 3px; transform-origin: 0 50%; animation: st2Bar .7s cubic-bezier(.2, .8, .3, 1) both; }
@keyframes st2Bar { from { transform: scaleX(0); } }
.st-odd b { text-align: right; font: 700 15px/1 'Barlow Condensed', sans-serif; color: #fff1cf; letter-spacing: .03em; }
.st-ed { margin-top: 24px; padding: 12px 14px; border-radius: 6px; background: rgba(0, 0, 0, .28); border: 1px solid rgba(232, 199, 122, .18); }
.st-ed .t { display: flex; justify-content: space-between; font: 700 12px/1 Cinzel, serif; letter-spacing: .16em; color: #d8c49a; }
.st-ed .t em { font: 600 13px/1 Barlow, sans-serif; font-style: normal; color: #efe3c6; letter-spacing: .02em; }
.st-ed .st-bar { margin-top: 10px; height: 6px; }
.st-ed .st-bar u { background: linear-gradient(90deg, #8a5f22, #f3d78e); }
.st-nft { margin-top: 16px; text-align: center; font: 500 13px/1.3 Barlow, sans-serif; color: #9d8f78; }
.st-buyzone { position: absolute; left: 0; right: 0; bottom: 0; }
.st-price { display: flex; align-items: baseline; justify-content: center; gap: 9px; margin-bottom: 12px; }
.st-price b { font: 800 44px/1 'Barlow Condensed', sans-serif; color: #fff4d6; letter-spacing: .01em; text-shadow: 0 2px 4px #000; }
.st-price span { font: 700 17px/1 Barlow, sans-serif; color: #c9b38a; letter-spacing: .16em; }
.st-buy { position: relative; display: grid; place-items: center; width: 428px; height: 104px; border: 0; padding: 0 0 4px; cursor: pointer;
  background: url(s2_btn0.webp) center/100% 100% no-repeat; font: 900 26px/1 Cinzel, serif; letter-spacing: .14em; color: #fff6dc;
  text-shadow: 0 2px 3px rgba(30, 0, 50, .9), 0 0 14px rgba(220, 160, 255, .5); transition: transform .2s cubic-bezier(.2, .8, .3, 1.3), filter .2s; }
.st-buy::after { content: ""; position: absolute; left: 60px; right: 60px; top: 24px; bottom: 28px; border-radius: 30px; pointer-events: none;
  box-shadow: 0 0 34px 6px rgba(190, 110, 255, 0); transition: box-shadow .3s; }
.st-buy:hover { transform: translateY(-2px); filter: brightness(1.1); }
.st-buy:hover::after { box-shadow: 0 0 34px 6px rgba(190, 110, 255, .45); }
.st-buy:active { transform: translateY(1px) scale(.99); }
.st-buy.confirm { font-size: 20px; letter-spacing: .1em; filter: brightness(1.12) saturate(1.1); }
.st-buy.confirm::after { box-shadow: 0 0 34px 8px rgba(255, 210, 120, .5); animation: st2Pulse 1s ease-in-out infinite; }
@keyframes st2Pulse { 50% { box-shadow: 0 0 22px 3px rgba(255, 210, 120, .25); } }
.st-open { display: flex; align-items: center; justify-content: center; gap: 12px; width: 340px; height: 64px; margin: 4px auto 0; padding: 0 0 1px; cursor: pointer;
  border-style: solid; border-width: 9px 19px 10px 19px; border-image: url(s2_btn1.webp) 30 60 32 60 fill stretch; background: none; font: 700 17px/1 Cinzel, serif; letter-spacing: .16em; color: #e9d6a6; transition: transform .2s, filter .2s, opacity .3s; }
.st-open:hover { transform: translateY(-2px); filter: brightness(1.15); }
.st-open.empty { opacity: .45; cursor: default; }
.st-open.empty:hover { transform: none; filter: none; }
.st-open .n { display: grid; place-items: center; min-width: 28px; height: 24px; padding: 0 7px; border-radius: 12px; background: #c9973c; color: #1a1020; font: 800 14px/1 Barlow, sans-serif; letter-spacing: 0; }
.st-open .n.bump { animation: st2Bump .5s cubic-bezier(.2, .8, .3, 1.6); }
@keyframes st2Bump { 40% { transform: scale(1.5); background: #ffe08a; } }

/* purchase feedback + toast */
.st-fly { position: absolute; z-index: 20; pointer-events: none; transform-origin: 50% 50%; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .6)); }
.st-msg { position: absolute; left: 710px; bottom: 96px; transform: translate(-50%, 10px); padding: 13px 24px; border-radius: 999px; font: 700 16px/1 Cinzel, serif; letter-spacing: .06em; color: #fff3d6;
  background: rgba(16, 8, 22, .9); box-shadow: inset 0 0 0 1.5px rgba(232, 196, 110, .6), 0 8px 20px rgba(0, 0, 0, .5); opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s; z-index: 30; white-space: nowrap; }
.st-msg.on { opacity: 1; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) { #storeScr *, #storeScr *::before, #storeScr *::after { animation: none !important; } }

/* ===== opening ===== */
.st-back, .st-wallet, .st-panel, .st-pin, .st-hint { transition: opacity .45s ease; }
.st-opening .st-back, .st-opening .st-wallet, .st-opening .st-panel, .st-opening .st-pin { opacity: 0; pointer-events: none; }
.st-charging .st-float { animation: st2Charge 1.1s ease-in both; }
@keyframes st2Charge { 0% { transform: translateY(0); } 20% { transform: translate(-2px, -6px) rotate(-1deg); } 35% { transform: translate(3px, -12px) rotate(1.5deg); } 50% { transform: translate(-4px, -20px) rotate(-2deg); } 65% { transform: translate(5px, -28px) rotate(2.5deg); } 80% { transform: translate(-6px, -38px) rotate(-3deg) scale(1.03); } 100% { transform: translate(0, -60px) scale(1.12); } }
.st-cine { position: absolute; inset: 0; z-index: 43; pointer-events: none; opacity: 0; transition: opacity .3s; background: #000; }
.st-cine:not(:has(video)) { background: none; }
.st-cine.on { opacity: 1; }
.st-cine .tint { opacity: 0; animation: st2Tint 1.4s ease-in 2.6s both; }
@keyframes st2Tint { to { opacity: .55; } }
.st-cine video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.st-cine .tint { position: absolute; inset: 0; background: radial-gradient(50% 60% at 50% 45%, var(--best), transparent 70%); mix-blend-mode: color; }
.st-cine.flash::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, #fff 0%, var(--best) 35%, rgba(0, 0, 0, 0) 75%); animation: st2Flash .9s ease-out both; }
@keyframes st2Flash { 0% { opacity: 0; transform: scale(.4); } 25% { opacity: 1; transform: scale(1.4); } 100% { opacity: 0; transform: scale(2); } }

/* the hall becomes the reveal stage: camera pushes in on the pedestal and dims */
.st-bgz { position: absolute; left: 0; top: -2px; width: 1920px; height: 1084px; background-size: cover; opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.st-revealing .st-bgz.on { opacity: 1; }

/* bloom from the pack that hides the cut into the cinematic */
.st-bloom { position: absolute; left: 710px; top: 455px; width: 1800px; height: 1800px; margin: -900px 0 0 -900px; border-radius: 50%; pointer-events: none; z-index: 44; opacity: 0;
  background: radial-gradient(circle, #fff 0%, #ffe9c4 12%, rgba(214, 160, 255, .55) 30%, rgba(0, 0, 0, 0) 60%); transform: scale(.2); }
.st-push .st-bloom { animation: st2Bloom 1.3s ease-in-out .55s both; }
@keyframes st2Bloom { 0% { opacity: 0; transform: scale(.2); } 50% { opacity: 1; transform: scale(1.4); } 100% { opacity: 0; transform: scale(1.8); } }
.st-revealing .st-packwrap, .st-revealing .st-dust { opacity: 0; transition: opacity .3s; }
.st-rv { position: absolute; inset: 0; z-index: 40; opacity: 0; transition: opacity .5s; background: linear-gradient(0deg, rgba(5, 2, 9, .97) 0, rgba(5, 2, 9, .75) 14%, rgba(5, 2, 9, 0) 34%), radial-gradient(60% 55% at 50% 44%, rgba(10, 4, 16, .3), rgba(6, 2, 10, .85)); }
.st-rv.on { opacity: 1; }
.st-rv::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(40% 45% at 50% 46%, color-mix(in srgb, var(--best) 18%, transparent), transparent 70%); }
.st-rv.boom::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--boom) 55%, transparent), transparent 60%); animation: st2Boom .8s ease-out both; }
@keyframes st2Boom { 0% { opacity: .9; } 100% { opacity: 0; } }
.st-rc { position: absolute; left: var(--x); top: var(--y); width: var(--w); aspect-ratio: 63 / 88; border: 0; padding: 0; background: none; cursor: pointer;
  transform: translate(-50%, -50%) rotate(var(--r)); perspective: 1400px; animation: st2Deal .7s cubic-bezier(.2, .9, .3, 1.15) both; animation-delay: calc(var(--i) * 70ms + .15s); transition: transform .25s cubic-bezier(.2, .8, .3, 1.3); }
@keyframes st2Deal { from { opacity: 0; transform: translate(calc(960px - var(--x) - 50%), calc(860px - var(--y) - 50%)) rotate(0) scale(.25); } }
.st-rc:not(.flip):hover { transform: translate(-50%, calc(-50% - 12px)) rotate(var(--r)) scale(1.04); }
.st-rc .in { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .75s cubic-bezier(.3, .7, .2, 1); }
.st-rc.flip .in { transform: rotateY(180deg); }
.st-rc .face { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; border-radius: .9em; }
.st-rc .back { background: url(s2_cardback.webp) center/100% 100% no-repeat; box-shadow: 0 1em 2em rgba(0, 0, 0, .6); }
.st-rc:not(.r-comun) .back { box-shadow: 0 0 0 .1em var(--c), 0 1em 2em rgba(0, 0, 0, .6); }
/* pulsing glow on a separate layer: only its opacity animates (no repaint) */
.st-rc .halo { position: absolute; inset: -16% -22%; pointer-events: none; z-index: -1; background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 85%, transparent) 55%, transparent 100%); opacity: .55; animation: st2Halo 1.4s ease-in-out infinite; }
.st-rc.flip .halo { animation: none; opacity: .35; }
@keyframes st2Halo { 50% { opacity: 1; } }
.st-rc .front { transform: rotateY(180deg); }
.st-rc .front img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; border-radius: .6em; }
.st-rc.flip:not(.r-comun) .front { filter: drop-shadow(0 0 1.2em var(--c)); }
.st-rc .rays { position: absolute; left: 50%; top: 50%; width: 220%; aspect-ratio: 1; transform: translate(-50%, -50%); pointer-events: none; z-index: -2;
  background: center/100% 100% no-repeat; opacity: .8; animation: st2Rays 16s linear infinite; will-change: transform; }
.st-rc.r-rara .rays { opacity: .45; }
@keyframes st2Rays { to { transform: translate(-50%, -50%) rotate(360deg); } }
.st-rc .new { position: absolute; right: -.5em; top: -.7em; z-index: 3; padding: .35em .6em .3em; border-radius: .35em; transform: rotate(8deg); font: 800 1em/1 'Barlow Condensed', sans-serif; font-style: normal; letter-spacing: .1em; color: #fff;
  background: linear-gradient(180deg, #ff5a8a, #c8184a); box-shadow: 0 2px 6px rgba(0, 0, 0, .4); opacity: 0; transition: opacity .3s .55s; }
.st-rc.flip .new { opacity: 1; }
.st-rvbar { position: absolute; left: 0; right: 0; bottom: 40px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.st-rvbar .meta { font: 700 13px/1 Cinzel, serif; letter-spacing: .32em; color: #cdb68a; text-shadow: 0 1px 3px #000; display: flex; align-items: center; gap: 12px; }
.st-rvbar .meta i { width: 6px; height: 6px; transform: rotate(45deg); background: #e8c77a; box-shadow: 0 0 6px rgba(255, 210, 120, .7); }
.st-rvbar .row { display: flex; align-items: center; gap: 20px; }
.st-rvbar .orn { position: relative; width: 230px; height: 14px; }
.st-rvbar .orn::before { content: ""; position: absolute; left: 0; right: 14px; top: 6px; height: 1px; background: linear-gradient(90deg, rgba(232, 199, 122, 0), #e8c77a); }
.st-rvbar .orn::after { content: ""; position: absolute; right: 2px; top: 2px; width: 8px; height: 8px; transform: rotate(45deg); border: 1px solid #e8c77a; background: #140c1a; }
.st-rvbar .orn.r { transform: scaleX(-1); }
.st-rvbar button { width: 360px; height: 66px; padding: 0 0 1px; cursor: pointer; background: none; border-style: solid; border-width: 9px 19px 10px 19px;
  border-image: url(s2_btn1.webp) 30 60 32 60 fill stretch; font: 700 18px/1 Cinzel, serif; letter-spacing: .18em; color: #f1dfae; text-shadow: 0 1px 2px #000;
  transition: transform .2s, filter .2s, text-shadow .2s; }
.st-rvbar button:hover { transform: translateY(-2px); filter: brightness(1.18); text-shadow: 0 0 12px rgba(255, 214, 130, .7); }
.st-rvbar .go { color: #ffe9b0; animation: st2In .5s cubic-bezier(.2, .8, .3, 1.3) both, st2GoGlow 2.2s ease-in-out .6s infinite; }
@keyframes st2GoGlow { 50% { filter: brightness(1.15) drop-shadow(0 0 10px rgba(255, 205, 120, .45)); } }
.st-rvbar [hidden] { display: none; }
@keyframes st2In { from { opacity: 0; transform: translateY(16px) scale(.95); } }

/* match-move into the cinematic */
.st-packwrap { transform-origin: 0 0; }
.st-match .st-packwrap { z-index: 46; transform: translate(var(--mx), var(--my)) scale(var(--ms)); transition: transform 1s cubic-bezier(.45, 0, .2, 1), opacity .25s; }
.st-match .st-float { animation: none; }
.st-match .st-tilt { transform: none !important; }
.st-match .st-aura, .st-match .st-pglow, .st-match .st-pshadow, .st-match .st-glint { opacity: 0; transition: opacity .4s; }
.st-handoff .st-packwrap { opacity: 0; }
.st-cine:has(video) { transition: opacity .8s ease; }

/* the moved pack must never catch clicks meant for the cards */
.st-opening .st-packwrap, .st-opening .st-packwrap *, .st-revealing .st-packwrap, .st-revealing .st-packwrap * { pointer-events: none !important; }

.st-cine.cut { transition: opacity .18s ease-out; }
.st-opening .st-back2 { opacity: 0; pointer-events: none; } .st-back2 { transition: opacity .45s ease, color .25s, box-shadow .25s, transform .25s; }

/* purchase confirmation */
.st-conf { position: absolute; inset: 0; z-index: 60; display: grid; place-items: center; background: rgba(6, 3, 10, .62); opacity: 0; transition: opacity .25s ease; }
.st-conf.on { opacity: 1; }
.st-conf .box { position: relative; display: flex; gap: 40px; align-items: center; width: 860px; padding: 40px 48px 40px 40px; border-radius: 26px; transform: translateY(14px) scale(.98); transition: transform .3s cubic-bezier(.2, .8, .2, 1);
  background: radial-gradient(120% 120% at 0% 0%, rgba(120, 60, 150, .25), transparent 55%), linear-gradient(180deg, rgba(34, 13, 42, .97), rgba(14, 6, 20, .98)); box-shadow: inset 0 0 0 1.5px rgba(243, 207, 122, .6), inset 0 0 0 6px rgba(14, 6, 20, .9), inset 0 0 0 7px rgba(243, 207, 122, .18), 0 40px 80px rgba(0, 0, 0, .7); }
.st-conf.on .box { transform: none; }
.st-conf .x { position: absolute; right: 16px; top: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; cursor: pointer; display: grid; place-items: center; color: #f3dfb0; background: rgba(0, 0, 0, .35); box-shadow: inset 0 0 0 1.5px rgba(243, 207, 122, .55); }
.st-conf .x svg { width: 18px; height: 18px; }
.st-conf .x:hover { color: #fff; transform: rotate(90deg); transition: transform .2s; }
.st-conf .pk { flex: none; width: 250px; display: grid; place-items: center; }
.st-conf .pk img { width: 100%; height: auto; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .6)) drop-shadow(0 0 30px rgba(255, 200, 110, .25)); animation: stConfFloat 3.5s ease-in-out infinite; }
@keyframes stConfFloat { 50% { transform: translateY(-8px) rotate(-1.5deg); } }
.st-conf .tx { flex: 1; min-width: 0; }
.st-conf small { display: block; font: 700 14px/1 'Barlow Condensed', Barlow, sans-serif; letter-spacing: .3em; text-transform: uppercase; color: rgba(243, 207, 122, .8); }
.st-conf h3 { margin: 12px 0 8px; font: 900 40px/1 Cinzel, serif; letter-spacing: .04em; text-transform: uppercase; color: transparent; background: linear-gradient(180deg, #fff4cf 0%, #f0cf7f 45%, #b9862f 100%); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .6)); }
.st-conf .sub { margin: 0 0 20px; font: 500 16px/1.4 Barlow, sans-serif; color: rgba(246, 236, 214, .7); }
.st-conf .rows { display: flex; flex-direction: column; border-top: 1px solid rgba(236, 196, 116, .2); }
.st-conf .rows > div { display: flex; justify-content: space-between; align-items: baseline; padding: 11px 2px; border-bottom: 1px solid rgba(236, 196, 116, .12); font: 500 16px/1 Barlow, sans-serif; color: rgba(246, 236, 214, .7); }
.st-conf .rows b { font: 800 22px/1 Barlow, sans-serif; color: #fff4e0; font-variant-numeric: tabular-nums; }
.st-conf .rows em { font: 700 13px/1 'Barlow Condensed', Barlow, sans-serif; font-style: normal; letter-spacing: .14em; color: rgba(243, 207, 122, .7); }
.st-conf .rows .after b { color: #ffe7b0; }
.st-conf .rows .need b { color: #ff9a8a; }
.st-conf .act { display: flex; gap: 14px; align-items: center; margin-top: 24px; }
.st-conf .go, .st-conf .dep { display: flex; align-items: center; gap: 10px; height: 60px; padding: 0 30px; border: 0; border-radius: 14px; cursor: pointer; font: 700 17px/1 'Barlow Condensed', Barlow, sans-serif; letter-spacing: .24em; text-transform: uppercase; color: #2a1404; background: linear-gradient(180deg, #fff0c4, #e8b54e 55%, #b9832a); box-shadow: 0 0 0 1px rgba(90, 54, 8, .8), 0 10px 24px rgba(0, 0, 0, .45), 0 0 26px rgba(255, 200, 110, .2); transition: filter .2s, transform .2s; }
.st-conf .go:hover, .st-conf .dep:hover { filter: brightness(1.08); transform: translateY(-2px); }
.st-conf .go:focus-visible, .st-conf .dep:focus-visible, .st-conf .no:focus-visible { outline: 2px solid #ffd98a; outline-offset: 4px; }
.st-conf .no { height: 60px; padding: 0 18px; border: 0; background: none; cursor: pointer; font: 600 15px/1 'Barlow Condensed', Barlow, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: rgba(243, 223, 176, .6); }
.st-conf .no:hover { color: #f3dfb0; }
.st-conf .sp { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid rgba(42, 20, 4, .3); border-top-color: #2a1404; animation: stSpin .7s linear infinite; }
@keyframes stSpin { to { transform: rotate(360deg); } }
.st-conf.busy .no, .st-conf.busy .x { opacity: .4; pointer-events: none; }
.st-conf .fine { margin: 16px 0 0; font: 500 13px/1.4 Barlow, sans-serif; color: rgba(246, 236, 214, .45); }
