/* ═══ AAA PREMIUM ATMOSPHERE ═══ */
.ps-wrap{max-width:960px;margin:0 auto;padding:20px;position:relative}
.ps-ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;height:0!important;overflow:visible;background:
  radial-gradient(ellipse at 50% 15%,rgba(218,165,32,.08) 0%,transparent 45%),
  radial-gradient(ellipse at 80% 55%,rgba(196,64,64,.04) 0%,transparent 30%),
  radial-gradient(ellipse at 15% 70%,rgba(96,64,176,.04) 0%,transparent 30%),
  radial-gradient(ellipse at 50% 50%,rgba(218,165,32,.02) 0%,transparent 70%);
  animation:ps-ambient-shift 20s ease-in-out infinite alternate}
@keyframes ps-ambient-shift{0%{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(8deg) brightness(1.1)}100%{filter:hue-rotate(-5deg) brightness(.95)}}
/* ═══ COMPACT HEADER — title + game + sound in one row ═══ */
.ps-top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}
.ps-top-left{display:flex;align-items:center;gap:10px}
.ps-top-title{font-family:'Inter',sans-serif;font-size:28px;font-weight:900;background:linear-gradient(135deg,var(--gold),#f0c850,#ffe080,#f0d060,var(--gold));background-size:300% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:ps-title-shimmer 4s ease-in-out infinite;letter-spacing:-.02em;text-shadow:0 0 40px rgba(218,165,32,.15)}
@keyframes ps-title-shimmer{0%,100%{background-position:0% center}50%{background-position:200% center}}
.ps-streak-badge{display:none;background:linear-gradient(135deg,#c44040,#e07030);color:#fff;font-weight:900;font-size:11px;padding:3px 10px;border-radius:10px;animation:streakPop .3s cubic-bezier(.34,1.56,.64,1)}
.ps-streak-badge.show{display:inline-flex;align-items:center;gap:4px}
.ps-streak-badge.hot{background:linear-gradient(135deg,#e03020,#ff6030);animation:streakPulse 1s ease-in-out infinite}
@keyframes streakPop{0%{transform:scale(0)}50%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes streakPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.ps-top-right{display:flex;align-items:center;gap:8px}
/* XP micro-bar in header */
.ps-xp-micro{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}
.ps-xp-micro .ps-rank{font-size:9px;padding:2px 8px;border-radius:6px}
.ps-xp-micro-track{width:44px;height:4px;background:var(--border);border-radius:2px;overflow:hidden}
.ps-xp-micro-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--gold),#e8b830);transition:width .5s ease}
.ps-xp-micro-lvl{font-size:11px;font-weight:900;color:var(--text)}
.ps-sound-toggle{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}
.ps-sound-toggle:hover{border-color:var(--gold);color:var(--gold)}

/* ═══ COMPACT SET PILLS ═══ */
.ps-set-pills{margin-bottom:8px}
.ps-set-pills-scroll{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ps-set-pills-scroll::-webkit-scrollbar{height:3px}
.ps-set-pills-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.ps-set-pill{flex-shrink:0;padding:5px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);font-size:11px;font-weight:700;color:var(--text-mid);white-space:nowrap;scroll-snap-align:start;display:flex;align-items:center;gap:6px}
.ps-set-pill:hover{border-color:rgba(218,165,32,.4);color:var(--text)}
.ps-set-pill.on{border-color:var(--gold);color:var(--gold);background:rgba(218,165,32,.06);box-shadow:0 3px 0 var(--gold),0 4px 12px rgba(218,165,32,.15);transform:translateY(-2px)}
.ps-set-pill img{height:20px;width:auto}

/* ═══ PACK TYPE SELECTOR — Per-type identities ═══ */
.ps-type-pills{display:flex;gap:10px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}
.ps-type-pill{padding:12px 22px;border-radius:16px;font-size:13px;font-weight:800;border:2px solid rgba(255,255,255,.06);background:linear-gradient(165deg,#1e1710 0%,#151008 50%,#1a1208 100%);color:var(--text-mid);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;gap:10px;position:relative;overflow:hidden;min-width:135px;min-height:68px;box-sizing:border-box;box-shadow:0 2px 8px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.03) inset}
.ps-type-pill::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .3s}
.ps-type-pill::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}
.ps-type-pill:hover::after{left:160%}
.ps-type-pill:active:not(.ps-pack-locked){transform:scale(.97) !important;transition-duration:.1s}
.ps-pill-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;flex-shrink:0;transition:all .3s;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.3),0 1px 0 rgba(255,255,255,.05) inset}
.ps-pill-icon svg{width:20px;height:20px}
.ps-pill-label{font-weight:900;line-height:1.1;font-size:14px;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.ps-pill-sub{font-size:9px;font-weight:700;opacity:.5;position:absolute;bottom:7px;left:70px;letter-spacing:.05em;pointer-events:none;text-transform:uppercase}
.ps-type-pill.ps-pack-locked{opacity:.35;cursor:not-allowed;filter:grayscale(.5)}
.ps-type-pill.ps-pack-locked:hover{transform:none}
.ps-type-pill.ps-pack-locked:hover::after{left:-100%}

/* — Random: emerald energy — */
.ps-pill-random{border-color:rgba(78,154,62,.15)}
.ps-pill-random .ps-pill-icon{background:linear-gradient(145deg,rgba(78,154,62,.3),rgba(50,120,40,.4));color:#7ee87e;box-shadow:0 2px 8px rgba(78,154,62,.2),0 1px 0 rgba(140,230,140,.1) inset}
.ps-pill-random::before{background:linear-gradient(135deg,transparent 30%,rgba(78,154,62,.06) 50%,transparent 70%);background-size:200% 200%;animation:holoShift 4s ease-in-out infinite}
.ps-pill-random:hover:not(.ps-pack-locked){border-color:rgba(78,154,62,.4);color:#8de88d;transform:translateY(-2px);box-shadow:0 4px 20px rgba(78,154,62,.15),0 1px 0 rgba(255,255,255,.03) inset}
.ps-pill-random.on{border-color:rgba(78,154,62,.5);color:#8de88d;background:linear-gradient(165deg,rgba(78,154,62,.1) 0%,#151008 50%,rgba(60,120,216,.04) 100%);box-shadow:0 4px 28px rgba(78,154,62,.25),0 0 0 1px rgba(78,154,62,.12),0 1px 0 rgba(140,230,140,.05) inset;transform:translateY(-2px)}
.ps-pill-random.on .ps-pill-icon{background:linear-gradient(145deg,rgba(78,154,62,.45),rgba(50,120,40,.5));box-shadow:0 0 16px rgba(78,154,62,.35),0 1px 0 rgba(140,230,140,.15) inset}
.ps-pill-random::before{opacity:0}.ps-pill-random.on::before,.ps-pill-random:hover::before{opacity:1}

/* — Booster: royal purple — */
.ps-pill-booster{border-color:rgba(120,80,200,.12)}
.ps-pill-booster .ps-pill-icon{background:linear-gradient(145deg,rgba(120,80,200,.3),rgba(80,50,180,.4));color:#c0a0f0;box-shadow:0 2px 8px rgba(120,80,200,.2),0 1px 0 rgba(180,140,255,.1) inset}
.ps-pill-booster::before{background:linear-gradient(135deg,transparent 30%,rgba(120,80,200,.06) 50%,transparent 70%);background-size:200% 200%;animation:holoShift 4s ease-in-out infinite}
.ps-pill-booster:hover:not(.ps-pack-locked){border-color:rgba(120,80,200,.4);color:#c0a0f0;transform:translateY(-2px);box-shadow:0 4px 20px rgba(120,80,200,.15),0 1px 0 rgba(255,255,255,.03) inset}
.ps-pill-booster.on{border-color:rgba(120,80,200,.5);color:#c0a0f0;background:linear-gradient(165deg,rgba(120,80,200,.1) 0%,#151008 50%,rgba(80,50,160,.04) 100%);box-shadow:0 4px 28px rgba(120,80,200,.25),0 0 0 1px rgba(120,80,200,.12),0 1px 0 rgba(180,140,255,.05) inset;transform:translateY(-2px)}
.ps-pill-booster.on .ps-pill-icon{background:linear-gradient(145deg,rgba(120,80,200,.45),rgba(80,50,180,.5));box-shadow:0 0 16px rgba(120,80,200,.35),0 1px 0 rgba(180,140,255,.15) inset}
.ps-pill-booster::before{opacity:0}.ps-pill-booster.on::before,.ps-pill-booster:hover::before{opacity:1}

/* — Elite: crimson premium — */
.ps-pill-elite{border-color:rgba(196,64,64,.12)}
.ps-pill-elite .ps-pill-icon{background:linear-gradient(145deg,rgba(196,64,64,.3),rgba(160,40,40,.4));color:#f09090;box-shadow:0 2px 8px rgba(196,64,64,.2),0 1px 0 rgba(255,140,140,.1) inset}
.ps-pill-elite::before{background:linear-gradient(135deg,transparent 30%,rgba(196,64,64,.06) 50%,transparent 70%);background-size:200% 200%;animation:holoShift 4s ease-in-out infinite}
.ps-pill-elite:hover:not(.ps-pack-locked){border-color:rgba(196,64,64,.4);color:#f0a0a0;transform:translateY(-2px);box-shadow:0 4px 20px rgba(196,64,64,.15),0 1px 0 rgba(255,255,255,.03) inset}
.ps-pill-elite.on{border-color:rgba(196,64,64,.5);color:#f0a0a0;background:linear-gradient(165deg,rgba(196,64,64,.1) 0%,#151008 50%,rgba(160,40,40,.04) 100%);box-shadow:0 4px 28px rgba(196,64,64,.25),0 0 0 1px rgba(196,64,64,.12),0 1px 0 rgba(255,140,140,.05) inset;transform:translateY(-2px)}
.ps-pill-elite.on .ps-pill-icon{background:linear-gradient(145deg,rgba(196,64,64,.45),rgba(160,40,40,.5));box-shadow:0 0 16px rgba(196,64,64,.35),0 1px 0 rgba(255,140,140,.15) inset}
.ps-pill-elite::before{opacity:0}.ps-pill-elite.on::before,.ps-pill-elite:hover::before{opacity:1}

/* — Golden Ticket: luxe gold with sparkle — */
.ps-pill-golden .ps-pill-icon{background:linear-gradient(135deg,rgba(218,165,32,.25),rgba(240,200,80,.2));color:#f0d060}
.ps-pill-golden::before{background:linear-gradient(135deg,transparent 20%,rgba(240,200,80,.08) 45%,rgba(218,165,32,.04) 55%,transparent 80%);background-size:300% 300%;animation:goldenShift 3s ease-in-out infinite}
@keyframes goldenShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.ps-pill-golden.on,.ps-pill-golden:hover:not(.ps-pack-locked){border-color:rgba(240,200,80,.6);color:#f0d060}
.ps-pill-golden.on{background:linear-gradient(160deg,rgba(218,165,32,.12),rgba(240,200,80,.05));box-shadow:0 4px 24px rgba(218,165,32,.25),0 0 0 1px rgba(240,200,80,.15),0 0 40px rgba(218,165,32,.1);transform:translateY(-2px)}
.ps-pill-golden.on .ps-pill-icon{background:linear-gradient(135deg,rgba(218,165,32,.35),rgba(240,200,80,.3));box-shadow:0 0 16px rgba(218,165,32,.4)}
.ps-pill-golden:hover:not(.on):not(.ps-pack-locked){transform:translateY(-2px)}
.ps-pill-golden::before{opacity:0}.ps-pill-golden.on::before,.ps-pill-golden:hover::before{opacity:1}
.ps-pill-golden.on::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,200,.12) 0%,transparent 50%);pointer-events:none;animation:ticketSparkle 2s ease-in-out infinite;left:0;width:100%}
@keyframes ticketSparkle{0%,100%{opacity:.5}50%{opacity:1}}

/* — Set logo on active button — */
.ps-pill-set-logo{position:absolute;right:8px;top:50%;transform:translateY(-50%);height:22px;width:auto;opacity:.2;pointer-events:none;filter:brightness(2);transition:opacity .3s}
.ps-type-pill.on .ps-pill-set-logo{opacity:.35}

/* — Logo mode (set selected) — all 3 pills */
.ps-pill-logo-mode{justify-content:center;align-items:center;flex-direction:column;gap:2px;padding:6px 10px !important;min-width:130px;min-height:68px}
.ps-pill-setlogo-img{height:32px;width:auto;max-width:110px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(218,165,32,.3))}
.ps-pill-logo-mode.on .ps-pill-setlogo-img{filter:drop-shadow(0 0 12px rgba(218,165,32,.5)) brightness(1.1)}
.ps-pill-random.ps-pill-logo-mode.on .ps-pill-setlogo-img{filter:drop-shadow(0 0 12px rgba(78,154,62,.5)) brightness(1.1)}
.ps-pill-booster.ps-pill-logo-mode.on .ps-pill-setlogo-img{filter:drop-shadow(0 0 12px rgba(120,80,200,.5)) brightness(1.1)}
.ps-pill-elite.ps-pill-logo-mode.on .ps-pill-setlogo-img{filter:drop-shadow(0 0 12px rgba(196,64,64,.5)) brightness(1.1)}

/* — Golden Ticket full-image pill — */
.ps-pill-golden{padding:0 !important;overflow:hidden;border:2px solid rgba(218,165,32,.15);min-width:0;min-height:68px;background:transparent}
.ps-golden-icon{display:block;height:64px;width:auto;min-width:145px;border-radius:12px;object-fit:cover}
.ps-pill-golden.on{box-shadow:0 0 20px rgba(218,165,32,.4),0 0 0 2px rgba(218,165,32,.5);border-color:rgba(218,165,32,.5);transform:translateY(-2px)}
.ps-pill-golden:hover:not(.ps-pack-locked){transform:translateY(-2px);box-shadow:0 0 16px rgba(218,165,32,.3);border-color:rgba(218,165,32,.3)}
.ps-pill-golden.on .ps-golden-icon,.ps-pill-golden:hover:not(.ps-pack-locked) .ps-golden-icon{filter:brightness(1.15)}
.ps-pill-golden.ps-pack-locked{opacity:.45;border-color:rgba(218,165,32,.1)}.ps-pill-golden.ps-pack-locked .ps-golden-icon{filter:brightness(.35) grayscale(.6)}
.ps-pill-logo-sub{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--accent);text-shadow:0 0 8px rgba(218,165,32,.3)}

@media(max-width:600px){.ps-type-pills{gap:6px}.ps-type-pill{padding:8px 12px;min-width:0;min-height:58px;flex:1 1 calc(50% - 5px)}.ps-pill-icon{width:26px;height:26px;border-radius:8px}.ps-pill-icon svg{width:14px;height:14px}.ps-pill-label{font-size:11px}.ps-pill-sub{font-size:8px;left:46px;bottom:5px}.ps-pill-set-logo{height:16px;right:6px}.ps-pill-logo-mode{min-width:0;padding:4px 8px !important;min-height:58px}.ps-pill-setlogo-img{height:24px}.ps-pill-logo-sub{font-size:8px}.ps-pill-golden{flex:1 1 calc(50% - 5px)}.ps-golden-icon{min-width:0;width:100%;height:54px}}

/* ═══ TRAINER XP BAR (shared with Battle Arena) ═══ */
/* ═══ TRAINER COMMAND CENTER ═══ */
.ps-cmd{margin-bottom:20px;background:linear-gradient(160deg,var(--bg-panel) 0%,rgba(26,21,14,.97) 100%);border:1px solid rgba(218,165,32,.12);border-radius:20px;box-shadow:0 8px 40px rgba(0,0,0,.4),0 0 0 1px rgba(218,165,32,.05),inset 0 1px 0 rgba(255,255,255,.04);position:relative;overflow:hidden}
.ps-cmd::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 5%,var(--gold) 50%,transparent 95%);opacity:.8}
.ps-cmd::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(218,165,32,.03) 0%,transparent 30%);pointer-events:none}

/* XP Header */
.ps-cmd-xp{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 0;position:relative;z-index:1}
.ps-cmd-xp-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ps-rank{font-size:10px;font-weight:900;padding:3px 12px;border-radius:20px;color:#fff;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}
.ps-rank.r-rookie{background:#908870}.ps-rank.r-trainer{background:#3070c0}.ps-rank.r-ace{background:#3e8030}.ps-rank.r-elite{background:#6040b0}.ps-rank.r-champion{background:linear-gradient(135deg,#daa520,#e8b830)}.ps-rank.r-master{background:linear-gradient(135deg,#c44040,#e06040)}.ps-rank.r-legend{background:linear-gradient(135deg,#daa520,#c44040,#6040b0);background-size:200% 200%;animation:legendShift 3s ease-in-out infinite}
@keyframes legendShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.ps-cmd-lvl{font-size:14px;font-weight:900;color:var(--text)}
.ps-cmd-xpnum{font-size:11px;color:var(--text-mid)}
.ps-cmd-bonus{font-size:10px;color:var(--gold);font-weight:700;white-space:nowrap}
.ps-cmd-xpbar{height:6px;margin:8px 18px 0;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden;position:relative;z-index:1}
.ps-cmd-xpfill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--gold),#e8b830);transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px rgba(218,165,32,.5)}

/* 3-Column Card Grid */
.ps-cmd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px 14px;position:relative;z-index:1}
.ps-cmd-card{display:flex;flex-direction:column;padding:14px 12px 12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);border-radius:14px;text-decoration:none;color:inherit;transition:all .25s ease;position:relative;overflow:hidden}
.ps-cmd-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:transparent;transition:background .3s}
.ps-cmd-card:hover{border-color:rgba(218,165,32,.25);background:rgba(218,165,32,.04);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2);text-decoration:none}
.ps-cmd-card:hover::before{background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* Active card (Rip Packs — you're here) */
.ps-cmd-active{border-color:rgba(218,165,32,.2);background:rgba(218,165,32,.04)}
.ps-cmd-active::before{background:linear-gradient(90deg,transparent,var(--gold),transparent)!important}
.ps-cmd-active .ps-cmd-card-title{color:var(--gold)}
.ps-cmd-active .ps-cmd-card-head i{color:var(--gold)}

/* Binder card */
.ps-cmd-binder .ps-cmd-card-head i{color:#c090f0}
.ps-cmd-binder .ps-cmd-card-title{color:#c090f0}
.ps-cmd-binder:hover{border-color:rgba(192,144,240,.25);background:rgba(168,85,247,.04)}
.ps-cmd-binder:hover::before{background:linear-gradient(90deg,transparent,#a060d0,transparent)}

/* Battle card */
.ps-cmd-battle .ps-cmd-card-head i{color:var(--red)}
.ps-cmd-battle .ps-cmd-card-title{color:var(--red)}
.ps-cmd-battle:hover{border-color:rgba(196,64,64,.25);background:rgba(196,64,64,.04)}
.ps-cmd-battle:hover::before{background:linear-gradient(90deg,transparent,#c44040,transparent)}

/* Card internals */
.ps-cmd-card-head{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.ps-cmd-card-head i{color:var(--text-mid);flex-shrink:0;transition:color .25s ease}
.ps-cmd-card-title{font-size:12px;font-weight:900;color:var(--text);text-transform:uppercase;letter-spacing:.04em;transition:color .25s ease}
.ps-cmd-card-stats{display:flex;gap:4px}
.ps-cmd-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 2px;background:rgba(0,0,0,.15);border-radius:8px}
.ps-cmd-stat-val{font-size:17px;font-weight:900;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.ps-cmd-stat-lbl{font-size:8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.ps-cmd-hit{color:#4e9a3e}
.ps-cmd-ultra{color:#c090f0}
.ps-cmd-fire{color:var(--red)}
.ps-cmd-card-cta{font-size:11px;color:var(--text-dim);text-align:center;padding:8px 0 2px}

/* Trophy Strip */
.ps-cmd-trophy{display:flex;align-items:center;gap:12px;margin:0 14px 14px;padding:10px 14px;background:linear-gradient(135deg,rgba(218,165,32,.06),rgba(168,85,247,.04));border:1px solid rgba(218,165,32,.15);border-radius:12px;text-decoration:none;color:inherit;position:relative;overflow:hidden;z-index:1;transition:border-color .3s}
.ps-cmd-trophy::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(218,165,32,.08) 45%,transparent 65%);background-size:250% 250%;animation:holoShift 3s ease-in-out infinite;pointer-events:none}
.ps-cmd-trophy:hover{border-color:rgba(218,165,32,.3);text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 16px rgba(218,165,32,.1)}
.ps-cmd-trophy-img{width:36px;height:50px;object-fit:contain;border-radius:4px;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(218,165,32,.4));animation:trophyFloat 3s ease-in-out infinite}
@keyframes trophyFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-2px) rotate(1deg)}}
.ps-cmd-trophy-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ps-cmd-trophy-label{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}
.ps-cmd-trophy-name{font-size:13px;font-weight:900;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-cmd-trophy-rarity{font-size:10px;font-weight:800;color:var(--text-mid);text-transform:uppercase;flex-shrink:0}

/* Mobile — matches site's 700px breakpoint */
@media(max-width:700px){
  .ps-cmd-grid{grid-template-columns:1fr;gap:6px}
  .ps-cmd-card{flex-direction:row;align-items:center;padding:10px 12px;gap:12px}
  .ps-cmd-card-head{margin-bottom:0;flex-shrink:0}
  .ps-cmd-card-stats{flex:1}
  .ps-cmd-stat{padding:4px 2px}
  .ps-cmd-stat-val{font-size:15px}
  .ps-cmd-stat-lbl{font-size:9px}
  .ps-cmd-trophy{flex-wrap:wrap;gap:8px;margin:0 10px 10px;padding:8px 10px}
  .ps-cmd-trophy-img{width:28px;height:40px}
  .ps-cmd-xp{padding:10px 14px 0}
  .ps-cmd-xpbar{margin:6px 14px 0}
}

/* ═══ CROSS-PROMO: BATTLE ARENA ═══ */
.ps-promo{display:flex;gap:14px;margin-bottom:16px;padding:16px 20px;background:linear-gradient(160deg,var(--bg-panel) 0%,var(--bg-raised) 100%);border:1px solid rgba(196,64,64,.15);border-radius:20px;box-shadow:var(--shadow);align-items:center;text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}
.ps-promo::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(196,64,64,.04) 50%,transparent 70%);background-size:200% 200%;animation:holoShift 4s ease-in-out infinite;pointer-events:none}
.ps-promo:hover{border-color:rgba(196,64,64,.3);transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,64,64,.15);text-decoration:none}
.ps-promo-ico{font-size:28px;flex-shrink:0}
.ps-promo-info{flex:1;min-width:0}
.ps-promo-title{font-size:13px;font-weight:800;color:var(--text)}
.ps-promo-desc{font-size:11px;color:var(--text-dim);margin-top:1px}
.ps-promo-stats{display:flex;gap:12px;margin-top:4px;font-size:10px;color:var(--text-mid)}
.ps-promo-stats strong{color:var(--text)}
.ps-promo-cta{font-size:11px;font-weight:800;color:#c44040;white-space:nowrap}

/* (old pack card styles removed — replaced by ps-type-pill pills above) */

/* ═══ HERO PACK STAGE — center stage with spotlight ═══ */
.ps-stage{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:24px 0 16px;perspective:800px;min-height:280px}
.ps-stage::before{content:'';position:absolute;top:-15%;left:50%;transform:translateX(-50%);width:400px;height:400px;background:radial-gradient(circle,var(--set-glow,rgba(218,165,32,.1)) 0%,rgba(218,165,32,.04) 30%,rgba(168,85,247,.02) 50%,transparent 65%);pointer-events:none;border-radius:50%;animation:ps-spotlight 5s ease-in-out infinite;transition:background 1s ease}
.ps-stage::after{content:'';position:absolute;bottom:0;left:10%;right:10%;height:60px;background:radial-gradient(ellipse at center,rgba(218,165,32,.06) 0%,transparent 70%);pointer-events:none;filter:blur(20px)}
@keyframes ps-spotlight{0%,100%{transform:translateX(-50%) scale(1);opacity:.6}50%{transform:translateX(-50%) scale(1.08);opacity:.9}}
.ps-booster{width:230px;cursor:pointer;transition:transform .4s cubic-bezier(.34,1.56,.64,1),filter .3s;position:relative;-webkit-tap-highlight-color:transparent}
.ps-booster-img{width:100%;height:auto;border-radius:0;filter:drop-shadow(0 12px 32px rgba(0,0,0,.6)) drop-shadow(0 0 20px var(--set-glow,rgba(218,165,32,.12)));transition:transform .3s,filter .5s;animation:packBreathe 3s ease-in-out infinite}
@keyframes packBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.015)}}
.ps-booster:hover .ps-booster-img{filter:drop-shadow(0 16px 40px rgba(0,0,0,.7)) drop-shadow(0 0 30px var(--set-glow,rgba(218,165,32,.2))) drop-shadow(0 0 60px var(--set-glow,rgba(218,165,32,.08)));animation:none}
.ps-booster:hover{transform:translateY(-8px) scale(1.02)}
.ps-booster:active .ps-booster-img{transform:scale(.95);animation:none}
.ps-booster.ripping{pointer-events:none;animation:packMicroShake .22s ease-in-out 1}
.ps-booster.ripping .ps-booster-img{animation:none}
/* Phase 1: held-breath tension state before rip */
.ps-booster.tension{transform:translateY(-4px) scale(1.02);filter:brightness(1.05);transition:transform .15s cubic-bezier(.34,1.56,.64,1),filter .15s ease;pointer-events:none}
.ps-booster.tension .ps-booster-img{animation:none;filter:drop-shadow(0 14px 36px rgba(0,0,0,.7)) drop-shadow(0 0 48px var(--set-glow,rgba(218,165,32,.4))) drop-shadow(0 0 96px var(--set-glow,rgba(218,165,32,.18)))}
@keyframes packMicroShake{0%,100%{transform:translate(0,0)}15%{transform:translate(-1.5px,.8px)}30%{transform:translate(1.2px,-1px)}45%{transform:translate(-.8px,-1.2px)}60%{transform:translate(1px,1px)}75%{transform:translate(-1px,.6px)}90%{transform:translate(.6px,-.6px)}}
/* Pack label below */
.ps-pack-label{margin-top:6px;font-size:11px;font-weight:700;color:var(--text-mid);transition:opacity .3s}
.ps-pack-label strong{color:var(--text);font-weight:900}
/* Rip button */
.ps-rip-btn-wrap{text-align:center;margin:8px 0 12px}
.ps-rip-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 56px;border-radius:16px;border:2px solid var(--gold);background:linear-gradient(145deg,#daa520,#c49018,#b8860b);color:#0a0806;font-size:18px;font-weight:900;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 6px 30px rgba(218,165,32,.35),0 0 0 1px rgba(218,165,32,.1),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.1);text-transform:uppercase;letter-spacing:.06em;position:relative;overflow:hidden}
.ps-rip-btn::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:btnSweep 2.5s ease-in-out infinite}
@keyframes btnSweep{0%{left:-60%}100%{left:160%}}
.ps-rip-btn:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 12px 50px rgba(218,165,32,.5),0 0 30px rgba(218,165,32,.25),0 0 0 1px rgba(218,165,32,.2)}
.ps-rip-btn:active{transform:scale(.94);box-shadow:0 2px 12px rgba(218,165,32,.2);transition:transform .05s}
.ps-rip-summary{font-size:11px;color:var(--text-dim);margin-top:4px;text-align:center}
.ps-booster-set-badge{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:rgba(10,8,6,.88);padding:8px 18px;border-radius:10px;border:1px solid rgba(218,165,32,.3);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center}
.ps-booster-set-badge img{max-height:44px;max-width:200px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.ps-booster-set-badge span{font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.ps-booster-set-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:2}
.ps-booster-set-overlay img{max-height:120px;max-width:220px;object-fit:contain;filter:drop-shadow(0 4px 20px rgba(218,165,32,.5))}
@keyframes packRip{0%{transform:scale(1);opacity:1}25%{transform:scale(1.08) rotate(-4deg)}50%{transform:scale(1.12) rotate(3deg);opacity:.9}100%{transform:scale(0) rotate(25deg);opacity:0}}
.ps-hint{font-size:12px;color:var(--text-dim);margin-top:6px;font-weight:600;letter-spacing:.04em;animation:ps-hint-pulse 2s ease-in-out infinite}
@keyframes ps-hint-pulse{0%,100%{opacity:.3}50%{opacity:.7}}

/* ═══ TCG ZEN CARD DESIGN ═══ */
.crd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-top:20px;padding:4px}
.crd{border-radius:16px;overflow:visible;opacity:1;position:relative;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.4);transition:box-shadow .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}
.crd:hover{transform:translateY(-10px) scale(1.06);z-index:5;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 24px rgba(218,165,32,.12)}
.crd-frame{padding:3px;border-radius:14px;position:relative}
.crd-inner{background:var(--bg-panel);border-radius:12px;overflow:hidden;position:relative}
.crd-frame.t-fire{background:linear-gradient(135deg,#c44040,#e07030,#c44040)}.crd-frame.t-water{background:linear-gradient(135deg,#3070c0,#4090e0,#3070c0)}.crd-frame.t-grass{background:linear-gradient(135deg,#3e8030,#60a840,#3e8030)}.crd-frame.t-electric{background:linear-gradient(135deg,#c8a020,#e8c840,#c8a020)}.crd-frame.t-psychic{background:linear-gradient(135deg,#a040a0,#c060c0,#a040a0)}.crd-frame.t-fighting{background:linear-gradient(135deg,#906030,#b08050,#906030)}.crd-frame.t-dark{background:linear-gradient(135deg,#504040,#706060,#504040)}.crd-frame.t-dragon{background:linear-gradient(135deg,#6040b0,#8060d0,#6040b0)}.crd-frame.t-steel{background:linear-gradient(135deg,#8888a0,#a0a0b8,#8888a0)}.crd-frame.t-fairy{background:linear-gradient(135deg,#d08090,#e8a0b0,#d08090)}.crd-frame.t-ice{background:linear-gradient(135deg,#70b8c8,#90d8e8,#70b8c8)}.crd-frame.t-ghost{background:linear-gradient(135deg,#604878,#806898,#604878)}.crd-frame.t-poison{background:linear-gradient(135deg,#804088,#a060a8,#804088)}.crd-frame.t-ground{background:linear-gradient(135deg,#a08040,#c0a060,#a08040)}.crd-frame.t-rock{background:linear-gradient(135deg,#908060,#b0a080,#908060)}.crd-frame.t-bug{background:linear-gradient(135deg,#789020,#98b040,#789020)}.crd-frame.t-flying{background:linear-gradient(135deg,#7890d0,#98b0f0,#7890d0)}.crd-frame.t-normal{background:linear-gradient(135deg,#908870,#b0a890,#908870)}
.crd-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px;background:var(--bg-header)}
.crd-name{font-family:'Inter',sans-serif;font-weight:800;font-size:12px;color:var(--text);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.crd-hp{font-family:'Inter',sans-serif;font-weight:900;font-size:13px;color:var(--red);white-space:nowrap}
.crd-hp span{font-size:9px;font-weight:600;color:var(--text-dim)}
.crd-art{position:relative;background:linear-gradient(180deg,var(--bg-header) 0%,rgba(0,0,0,.15) 100%);overflow:hidden}
.crd-art img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block;padding:8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}
.crd-art-bg{position:absolute;inset:0;opacity:.15;background-size:cover;background-position:center;filter:blur(20px) saturate(1.5)}
.crd.holo .crd-art::after,.crd.ultra .crd-art::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 15%,rgba(255,255,255,.04) 30%,rgba(218,165,32,.1) 38%,transparent 46%,rgba(59,130,246,.06) 62%,rgba(218,165,32,.08) 72%,transparent 82%);background-size:250% 250%;animation:holoShift 2.5s ease-in-out infinite;pointer-events:none}
.crd-type-row{display:flex;gap:4px;padding:4px 10px 2px;flex-wrap:wrap}
.crd-type{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:10px;color:#fff}
.crd-type.ty-fire{background:#c44040}.crd-type.ty-water{background:#3070c0}.crd-type.ty-grass{background:#3e8030}.crd-type.ty-electric{background:#c8a020}.crd-type.ty-psychic{background:#a040a0}.crd-type.ty-fighting{background:#906030}.crd-type.ty-dark{background:#504040}.crd-type.ty-dragon{background:#6040b0}.crd-type.ty-steel{background:#8888a0}.crd-type.ty-fairy{background:#d08090}.crd-type.ty-ice{background:#70b8c8}.crd-type.ty-ghost{background:#604878}.crd-type.ty-poison{background:#804088}.crd-type.ty-ground{background:#a08040}.crd-type.ty-rock{background:#908060}.crd-type.ty-bug{background:#789020}.crd-type.ty-flying{background:#7890d0}.crd-type.ty-normal{background:#908870}
.crd-stats{padding:6px 10px 8px;display:flex;gap:4px}
.crd-stat-item{flex:1;text-align:center}
.crd-stat-bar{height:4px;border-radius:2px;background:var(--border);overflow:hidden;margin-top:2px}
.crd-stat-fill{height:100%;border-radius:2px;transition:width .8s ease}
.crd-stat-fill.sf-atk{background:linear-gradient(90deg,#c44040,#e07030)}.crd-stat-fill.sf-def{background:linear-gradient(90deg,#3070c0,#4090e0)}.crd-stat-fill.sf-spd{background:linear-gradient(90deg,#c8a020,#e8c840)}
.crd-stat-lbl{font-size:7px;font-weight:700;color:var(--text-dim);text-transform:uppercase}
.crd-stat-num{font-size:9px;font-weight:800;color:var(--text-mid)}
.crd-foot{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 6px;border-top:1px solid var(--border)}
.crd-rarity{font-size:8px;font-weight:800;padding:2px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.04em}
.crd-rarity.r-common{background:var(--bg-header);color:var(--text-dim)}.crd-rarity.r-uncommon{background:rgba(78,154,62,.12);color:var(--green)}.crd-rarity.r-rare{background:rgba(48,112,192,.12);color:#4090e0}.crd-rarity.r-holo{background:linear-gradient(135deg,rgba(218,165,32,.15),rgba(196,64,64,.1));color:var(--gold)}.crd-rarity.r-ultra{background:linear-gradient(135deg,rgba(218,165,32,.2),rgba(168,85,247,.15));color:#c090f0}.crd-rarity.r-secret{background:linear-gradient(135deg,rgba(218,165,32,.3),rgba(255,107,107,.2),rgba(168,85,247,.2));color:#ffd700;text-shadow:0 0 6px rgba(218,165,32,.5)}.crd-rarity.r-mythic{background:linear-gradient(135deg,rgba(196,64,64,.2),rgba(218,165,32,.15));color:#e07040}
.crd-zen{font-size:7px;color:var(--text-dim);font-weight:700;letter-spacing:.06em}
.crd.holo .crd-frame{box-shadow:0 0 12px rgba(218,165,32,.3)}
.crd.ultra .crd-frame{box-shadow:0 0 16px rgba(168,85,247,.3);animation:ultraPulse 2s ease-in-out infinite}
@keyframes ultraPulse{0%,100%{box-shadow:0 0 12px rgba(168,85,247,.25)}50%{box-shadow:0 0 24px rgba(168,85,247,.4),0 0 48px rgba(218,165,32,.15)}}

/* Pull result banner */
.ps-result-bar{display:flex;gap:16px;justify-content:center;align-items:center;margin:24px 0;padding:18px 28px;background:linear-gradient(160deg,var(--bg-panel) 0%,rgba(218,165,32,.04) 100%);border:1px solid rgba(218,165,32,.2);border-radius:20px;font-size:14px;color:var(--text-mid);box-shadow:0 4px 24px rgba(0,0,0,.3),0 0 40px rgba(218,165,32,.08);flex-wrap:wrap;position:relative;overflow:hidden;min-width:0;word-break:break-word}
.ps-result-bar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.4}
.ps-result-bar strong{color:var(--text)}
.ps-result-bar .hit-count{color:var(--gold);font-weight:900}
.ps-result-xp{font-size:11px;color:var(--gold);font-weight:800;padding:3px 10px;background:rgba(218,165,32,.08);border-radius:8px}
.ps-actions{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}

/* Ultra rare celebration */
.ps-ultra-flash{position:fixed;inset:0;background:radial-gradient(circle at 50% 40%,rgba(218,165,32,.2),rgba(168,85,247,.08) 40%,transparent 65%);pointer-events:none;z-index:999;animation:ultraFlash 1s ease forwards}
@keyframes ultraFlash{0%{opacity:0;transform:scale(.9)}20%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.05)}}

/* ═══ POKÉDEX VIEWER ═══ */
.ps-dex-grid{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;max-height:200px;overflow-y:auto;scrollbar-width:thin;padding:2px}
.ps-dex-entry{padding:3px 8px;border-radius:6px;background:var(--bg-header);border:1px solid var(--border);display:inline-flex;align-items:center;font-size:10px;color:var(--text);font-weight:600;text-decoration:none;transition:.2s;white-space:nowrap}
.ps-dex-entry:hover{border-color:var(--gold);color:var(--gold);box-shadow:0 2px 8px rgba(218,165,32,.15)}
.ps-dex-name{}
.ps-dex-toggle{font-size:10px;color:var(--accent);cursor:pointer;margin-top:6px;font-weight:700;display:inline-block}
.ps-dex-toggle:hover{text-decoration:underline}


/* ═══ TCG CARD SCAN DISPLAY ═══ */
.crd-tcg-wrap{border-radius:14px;overflow:hidden;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-lg)}
.crd-tcg-img-wrap{position:relative;overflow:hidden;border-radius:14px 14px 0 0}
.crd-tcg-img{width:100%;display:block;border-radius:14px 14px 0 0}
.crd-tcg-holo{position:absolute;inset:0;background:linear-gradient(105deg,transparent 15%,rgba(255,255,255,.06) 28%,rgba(218,165,32,.12) 36%,transparent 44%,rgba(100,160,255,.08) 58%,rgba(218,165,32,.1) 68%,transparent 80%);background-size:250% 250%;animation:holoShift 2.5s ease-in-out infinite;pointer-events:none;border-radius:14px 14px 0 0}
.crd-tcg-holo.reverse-holo{background:linear-gradient(115deg,transparent 10%,rgba(180,120,255,.1) 20%,rgba(100,200,255,.12) 32%,transparent 42%,rgba(255,180,60,.08) 55%,rgba(120,220,180,.1) 68%,transparent 80%);background-size:300% 300%;animation:holoShift 2s ease-in-out infinite alternate}
.crd-tcg-info{padding:8px 10px;border-top:1px solid var(--border)}
.crd.holo .crd-tcg-wrap{box-shadow:0 0 16px rgba(218,165,32,.25),var(--shadow-lg)}
.crd.ultra .crd-tcg-wrap{box-shadow:0 0 20px rgba(168,85,247,.3),0 0 40px rgba(218,165,32,.1),var(--shadow-lg);animation:ultraPulse 2s ease-in-out infinite}

/* ═══ FLOATING GEM COUNTER — rarity-matched crystal that floats above the card ═══ */
.owned-gem{position:absolute;bottom:-14px;right:-10px;z-index:8;pointer-events:none;animation:gemMaterialize .6s cubic-bezier(.34,1.56,.64,1) forwards;filter:drop-shadow(0 4px 14px var(--gem-glow,rgba(218,165,32,.5)))}
.owned-gem-shape{width:26px;height:26px;-webkit-clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;position:relative;animation:gemFloat 2.5s ease-in-out infinite;background:linear-gradient(135deg,var(--gem-light,#f0d060) 0%,var(--gem-mid,#daa520) 40%,var(--gem-dark,#a07010) 100%);box-shadow:inset 0 2px 6px rgba(255,255,255,.4),inset 0 -2px 6px rgba(0,0,0,.3)}
.owned-gem-shape::before{content:'';position:absolute;inset:0;-webkit-clip-path:inherit;clip-path:inherit;background:linear-gradient(165deg,rgba(255,255,255,.5) 0%,transparent 30%,rgba(255,255,255,.1) 50%,transparent 60%,rgba(255,255,255,.3) 80%,transparent 100%);animation:gemRefract 3s ease-in-out infinite}
.owned-gem-shape::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--gem-mid,#daa520);opacity:0;animation:gemRing 2.5s ease-in-out infinite}
.owned-gem-count{font-family:'Inter',sans-serif;font-size:12px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);position:relative;z-index:1}
.owned-gem-thread{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:1.5px;height:14px;background:linear-gradient(to bottom,var(--gem-mid,#daa520),transparent);animation:threadDraw .4s ease forwards;opacity:.5}
/* Rarity colors */
.owned-gem.rarity-common{--gem-light:#e0e0e0;--gem-mid:#b0b0b0;--gem-dark:#808080;--gem-glow:rgba(180,180,180,.3)}
.owned-gem.rarity-uncommon{--gem-light:#60d060;--gem-mid:#3e9a3e;--gem-dark:#206018;--gem-glow:rgba(60,160,50,.4)}
.owned-gem.rarity-rare{--gem-light:#70b0f0;--gem-mid:#3080d0;--gem-dark:#1a4080;--gem-glow:rgba(48,128,208,.4)}
.owned-gem.rarity-holo{--gem-light:#f0d060;--gem-mid:#daa520;--gem-dark:#a07010;--gem-glow:rgba(218,165,32,.5)}
.owned-gem.rarity-ultra{--gem-light:#d0a0f0;--gem-mid:#a060d0;--gem-dark:#6030a0;--gem-glow:rgba(168,85,247,.5)}
.owned-gem.rarity-secret{--gem-glow:rgba(218,165,32,.6)}
.owned-gem.rarity-secret .owned-gem-shape{background:linear-gradient(135deg,#daa520,#c44040,#a060d0,#4090e0,#daa520);background-size:300% 300%;animation:gemFloat 2.5s ease-in-out infinite,gemPrismatic 2s ease-in-out infinite}
/* Stack escalation */
.owned-gem.stacked .owned-gem-shape{width:30px;height:30px}
.owned-gem.stacked{filter:drop-shadow(0 4px 18px var(--gem-glow)) drop-shadow(0 0 8px var(--gem-glow))}
.owned-gem.heavy .owned-gem-shape{width:34px;height:34px;animation:gemFloat 2.5s ease-in-out infinite,gemPulse 1.5s ease-in-out infinite}
.owned-gem.heavy{filter:drop-shadow(0 4px 20px var(--gem-glow)) drop-shadow(0 0 14px var(--gem-glow))}
.owned-gem.heavy::before,.owned-gem.heavy::after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gem-light,#f0d060);pointer-events:none}
.owned-gem.heavy::before{top:2px;left:-4px;animation:sparkleOrbit 2s linear infinite}
.owned-gem.heavy::after{bottom:4px;right:-6px;animation:sparkleOrbit 2s linear infinite reverse;animation-delay:-.7s}
@keyframes gemMaterialize{0%{opacity:0;transform:scale(0);filter:brightness(3) drop-shadow(0 0 20px #fff)}40%{opacity:1;filter:brightness(1.5) drop-shadow(0 4px 14px var(--gem-glow))}100%{transform:scale(1);filter:drop-shadow(0 4px 14px var(--gem-glow))}}
@keyframes gemFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes gemRefract{0%,100%{opacity:.6}50%{opacity:1;transform:rotate(5deg)}}
@keyframes gemRing{0%,100%{opacity:0;transform:scale(.8)}50%{opacity:.25;transform:scale(1.1)}}
@keyframes gemPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.4)}}
@keyframes gemPrismatic{0%,100%{background-position:0% center}50%{background-position:100% center}}
@keyframes threadDraw{0%{height:0;opacity:0}100%{height:14px;opacity:.5}}
@keyframes sparkleOrbit{0%{transform:rotate(0deg) translateX(22px) rotate(0deg);opacity:.8}50%{opacity:1}100%{transform:rotate(360deg) translateX(22px) rotate(-360deg);opacity:.8}}
@media(prefers-reduced-motion:reduce){.owned-gem,.owned-gem-shape,.owned-gem-shape::before,.owned-gem-shape::after,.owned-gem-thread{animation:none!important}}

@media(max-width:700px){.crd-grid{grid-template-columns:repeat(2,1fr);gap:10px}.crd-head{padding:6px 8px 3px}.crd-name{font-size:10px}.crd-hp{font-size:11px}.crd-stats{padding:4px 8px 6px}.ps-promo{flex-direction:column;text-align:center}
  /* New layout mobile */
  .ps-top-bar{flex-direction:column;text-align:center;gap:6px}
  .ps-top-right{justify-content:center;flex-wrap:wrap}
  .ps-booster{width:55vw;max-width:220px}
  .ps-rip-btn{padding:13px 36px;font-size:14px;width:100%;max-width:300px}
  .ps-type-pill{padding:8px 14px;font-size:11px}
  .ps-xp-micro{order:-1}
}
@media(max-width:450px){.crd-grid{grid-template-columns:1fr 1fr;gap:8px}.crd-art img{padding:4px}.crd-stat-bar{display:none}.crd-rarity{font-size:8px;padding:2px 6px}}

/* Set selector */
.ps-sets-scroll{display:flex;gap:10px;overflow-x:auto;padding:8px 4px;scrollbar-width:thin;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.ps-sets-scroll::-webkit-scrollbar{height:4px}
.ps-sets-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.ps-set-pill{flex-shrink:0;width:120px;background:linear-gradient(160deg,var(--bg-panel) 0%,var(--bg-raised) 100%);border:1px solid var(--border);border-radius:16px;padding:12px 10px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);text-align:center;scroll-snap-align:start;position:relative;overflow:hidden;touch-action:manipulation}
.ps-set-pill:hover,.ps-set-pill.on{border-color:var(--gold);transform:translateY(-4px) scale(1.03);box-shadow:0 8px 24px rgba(218,165,32,.15),0 0 0 1px rgba(218,165,32,.1)}
.ps-set-pill.on{background:linear-gradient(160deg,rgba(218,165,32,.06) 0%,rgba(218,165,32,.02) 100%)}
.ps-set-logo{height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.ps-set-logo img{max-height:36px;max-width:80px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}
.ps-set-name{font-size:10px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-set-sub{font-size:8px;color:var(--text-dim)}

/* Set-themed pack wrapper */
.ps-booster-inner.set-themed{border-color:var(--set-color, rgba(218,165,32,.3))}
.ps-booster-inner.set-themed::before{background:linear-gradient(135deg,transparent 20%,var(--set-glow, rgba(218,165,32,.1)) 35%,transparent 65%);background-size:300% 300%;animation:holoShift 3s ease-in-out infinite}
.ps-booster-set-logo{position:absolute;top:12px;left:50%;transform:translateX(-50%);opacity:.85}
.ps-booster-set-logo img{max-height:28px;max-width:100px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}

/* Guest sign-up prompt */
.ps-signup-prompt{display:none;margin:20px 0;padding:24px;background:linear-gradient(160deg,var(--bg-panel),var(--bg-raised));border:1px solid rgba(218,165,32,.25);border-radius:20px;text-align:center;box-shadow:0 8px 40px rgba(218,165,32,.1);position:relative;overflow:hidden;animation:fadeInUp .5s ease-out}
.ps-signup-prompt::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.ps-signup-prompt h3{font-size:18px;font-weight:800;color:var(--text);margin:0 0 6px}
.ps-signup-prompt h3 span{color:var(--gold)}
.ps-signup-prompt p{font-size:13px;color:var(--text-mid);margin:0 0 16px;line-height:1.6}
.ps-signup-prompt .ps-signup-perks{display:flex;gap:16px;justify-content:center;margin-bottom:18px;flex-wrap:wrap}
.ps-signup-prompt .ps-perk{font-size:11px;color:var(--text-mid);display:flex;align-items:center;gap:5px}
.ps-signup-prompt .ps-perk i{color:var(--gold)}
.ps-signup-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ps-signup-btns .btn{min-width:140px}
.ps-signup-dismiss{margin-top:10px;font-size:11px;color:var(--text-dim);cursor:pointer;border:none;background:none;font-family:inherit}
.ps-signup-dismiss:hover{color:var(--text-mid)}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Set hover overlay on pack type cards */
.ps-pack-locked{opacity:.5;filter:grayscale(.4);cursor:not-allowed!important}
.ps-pack-locked:hover{transform:none!important;border-color:var(--border)!important;box-shadow:var(--shadow)!important}
.ps-pack-locked:hover::before{opacity:0!important}
.ps-pack-locked .ps-pack-meta{color:var(--gold);font-weight:700}
.ps-pack-set-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(10,8,6,.85);border-radius:var(--radius-lg);opacity:0;transition:opacity .25s;pointer-events:none;z-index:5;backdrop-filter:blur(4px)}
.ps-pack-set-overlay img{max-height:40px;max-width:90px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(218,165,32,.4))}
.ps-pack-set-overlay span{font-size:9px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;text-align:center;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Section label with decorative lines */
.ps-section-label{text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:12px;position:relative}
.ps-section-label::before,.ps-section-label::after{content:'';position:absolute;top:50%;width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--border))}
.ps-section-label::before{right:calc(50% + 70px)}
.ps-section-label::after{left:calc(50% + 70px);background:linear-gradient(90deg,var(--border),transparent)}
#setSelect{position:relative;padding-top:8px}
#setSelect::before{content:'';position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}

/* ═══ GAME SELECTOR PILL ═══ */
.ps-game-pill{display:inline-flex;gap:0;background:var(--bg-panel);border:1px solid var(--border);border-radius:24px;padding:3px;margin-bottom:6px}
.ps-game-btn{padding:6px 16px;border-radius:20px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);cursor:pointer;transition:all .25s;border:none;background:none;font-family:inherit;white-space:nowrap}
.ps-game-btn:hover{color:var(--text)}
.ps-game-btn.on{background:linear-gradient(135deg,var(--gold),#e8b830);color:#0a0806;box-shadow:0 2px 8px rgba(218,165,32,.3)}
.ps-game-btn.on[data-game="mtg"]{background:linear-gradient(135deg,#4a6fa5,#6990c0)}
.ps-game-btn.on[data-game="yugioh"]{background:linear-gradient(135deg,#8b4513,#cd853f)}
@media(max-width:700px){.ps-game-btn{padding:8px 12px;font-size:10px}}

/* ═══ MTG CARD STYLES ═══ */
.crd-mtg-wrap{border-radius:14px;overflow:hidden;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-lg)}
.crd-mtg-img{width:100%;display:block;border-radius:14px 14px 0 0}
.crd-mtg-info{padding:8px 10px;border-top:1px solid var(--border)}
.crd-mtg-mana{display:flex;gap:2px;align-items:center;flex-wrap:wrap}
.crd-mtg-mana img{width:16px;height:16px;vertical-align:middle}
.crd-mtg-type{font-size:9px;color:var(--text-dim);font-weight:600;margin-top:2px}
.crd-mtg-oracle{font-size:9px;color:var(--text-mid);line-height:1.4;margin-top:4px;max-height:60px;overflow:hidden}
.crd-mtg-pt{font-size:12px;font-weight:900;color:var(--text);margin-top:2px}
.crd-frame.t-white{background:linear-gradient(135deg,#f9faf4,#e8e4d6,#f9faf4)}.crd-frame.t-blue{background:linear-gradient(135deg,#0e68ab,#2090d0,#0e68ab)}.crd-frame.t-black{background:linear-gradient(135deg,#393135,#524e4a,#393135)}.crd-frame.t-red{background:linear-gradient(135deg,#d3202a,#e85040,#d3202a)}.crd-frame.t-green{background:linear-gradient(135deg,#00733e,#20a060,#00733e)}.crd-frame.t-multi{background:linear-gradient(135deg,#c8a820,#e8c840,#c8a820)}.crd-frame.t-colorless{background:linear-gradient(135deg,#a0a0a0,#c0c0c0,#a0a0a0)}

/* ═══ YU-GI-OH CARD STYLES ═══ */
.crd-ygo-wrap{border-radius:14px;overflow:hidden;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-lg)}
.crd-ygo-img{width:100%;display:block;border-radius:14px 14px 0 0}
.crd-ygo-info{padding:8px 10px;border-top:1px solid var(--border)}
.crd-ygo-attr{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;color:#fff}
.crd-ygo-attr.a-dark{background:#604}.crd-ygo-attr.a-light{background:#cc0}.crd-ygo-attr.a-fire{background:#c44040}.crd-ygo-attr.a-water{background:#3070c0}.crd-ygo-attr.a-earth{background:#906030}.crd-ygo-attr.a-wind{background:#3e8030}.crd-ygo-attr.a-divine{background:#daa520}
.crd-ygo-stars{color:#daa520;font-size:10px;letter-spacing:1px}
.crd-ygo-ad{font-size:12px;font-weight:900;color:var(--text)}
.crd-ygo-race{font-size:9px;color:var(--text-dim);font-weight:600}
.crd-frame.t-spell{background:linear-gradient(135deg,#1d9e74,#40c090,#1d9e74)}.crd-frame.t-trap{background:linear-gradient(135deg,#bc5a84,#d07098,#bc5a84)}.crd-frame.t-monster{background:linear-gradient(135deg,#a08020,#c0a040,#a08020)}.crd-frame.t-fusion{background:linear-gradient(135deg,#7b2d8b,#a050b0,#7b2d8b)}.crd-frame.t-synchro{background:linear-gradient(135deg,#c0c0c0,#e0e0e0,#c0c0c0)}.crd-frame.t-xyz{background:linear-gradient(135deg,#1a1a1a,#404040,#1a1a1a)}.crd-frame.t-link{background:linear-gradient(135deg,#2070c0,#4090e0,#2070c0)}

/* ═══ 3D PACK TEAR ANIMATION ═══ */
.ps-stage{perspective:1200px}
.ps-booster{transform-style:preserve-3d}
.ps-tear-left,.ps-tear-right{position:absolute;top:0;width:50%;height:100%;overflow:hidden;opacity:0;pointer-events:none}
.ps-tear-left{left:0;transform-origin:left center}.ps-tear-right{right:0;transform-origin:right center}
.ps-tear-left img,.ps-tear-right img{position:absolute;top:0;width:200%;height:100%;object-fit:contain}
.ps-tear-left img{left:0}.ps-tear-right img{left:-100%}
.ps-booster.ripping .ps-tear-left,.ps-booster.ripping .ps-tear-right{opacity:1}
.ps-booster.ripping .ps-tear-left{animation:tearLeft .7s ease forwards}
.ps-booster.ripping .ps-tear-right{animation:tearRight .7s ease forwards}
.ps-booster.ripping>.ps-booster-img{animation:packFade .4s ease .15s forwards}
@keyframes tearLeft{0%{transform:rotateY(0);opacity:1}100%{transform:rotateY(-45deg) translateX(-30px);opacity:0}}
@keyframes tearRight{0%{transform:rotateY(0);opacity:1}100%{transform:rotateY(45deg) translateX(30px);opacity:0}}
@keyframes packFade{0%{opacity:1;transform:scale(1.05)}100%{opacity:0;transform:scale(1.15)}}

/* ═══ CARD FLIP REVEAL ═══ */
.crd{perspective:900px}
.crd-flipper{position:relative;transform-style:preserve-3d;transform:rotateY(180deg);transition:transform .6s cubic-bezier(.2,.8,.3,1);width:100%;height:100%}
.crd.shown .crd-flipper{transform:rotateY(0)}
.crd-front,.crd-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;width:100%;position:relative}
.crd-back{position:absolute;inset:0;transform:rotateY(180deg);background:linear-gradient(135deg,#1a150e,#2e2418,#1a150e);border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.crd-back::before{content:'';position:absolute;inset:0;background:repeating-conic-gradient(rgba(218,165,32,.06) 0deg,transparent 30deg,rgba(218,165,32,.06) 60deg);opacity:.5}
.crd-back::after{content:'ZEN';font-family:'Inter',sans-serif;font-size:20px;font-weight:900;color:rgba(218,165,32,.15);letter-spacing:.1em;text-transform:uppercase}
.crd.shown .crd-back{pointer-events:none}

/* Rarity reveal intensity */
.crd.reveal-rare .crd-flipper{transition-duration:.7s}
.crd.reveal-rare.shown{box-shadow:0 0 30px rgba(48,112,192,.4);animation:rareBurst .5s ease .3s}
.crd.reveal-holo .crd-flipper{transition-duration:.9s}
.crd.reveal-holo.shown{box-shadow:0 0 30px rgba(218,165,32,.4);animation:holoBurst .6s ease .4s}
.crd.reveal-ultra .crd-flipper{transition-duration:1.2s}
.crd.reveal-ultra.shown{box-shadow:0 0 40px rgba(168,85,247,.5);animation:ultraBurst .8s ease .5s}
@keyframes rareBurst{0%{box-shadow:0 0 0 rgba(48,112,192,0)}50%{box-shadow:0 0 40px rgba(48,112,192,.6)}100%{box-shadow:0 0 15px rgba(48,112,192,.2)}}
@keyframes holoBurst{0%{box-shadow:0 0 0 rgba(218,165,32,0)}40%{box-shadow:0 0 50px rgba(218,165,32,.5),0 0 80px rgba(168,85,247,.2)}100%{box-shadow:0 0 20px rgba(218,165,32,.3)}}
@keyframes ultraBurst{0%{box-shadow:0 0 0 rgba(168,85,247,0);transform:scale(1)}20%{box-shadow:0 0 80px rgba(168,85,247,.7),0 0 120px rgba(218,165,32,.3);transform:scale(1.08)}50%{box-shadow:0 0 50px rgba(168,85,247,.5),0 0 80px rgba(218,165,32,.2);transform:scale(1.03)}100%{box-shadow:0 0 24px rgba(168,85,247,.3);transform:scale(1)}}

/* Screen shake for ultra */
@keyframes screenShake{0%,100%{transform:translate(0)}10%{transform:translate(-3px,2px)}20%{transform:translate(3px,-2px)}30%{transform:translate(-2px,-3px)}40%{transform:translate(2px,3px)}50%{transform:translate(-1px,1px)}60%{transform:translate(1px,-1px)}}
@keyframes godPulse{0%{opacity:.8;filter:brightness(1)}100%{opacity:1;filter:brightness(1.3)}}

/* ═══ PARTICLES ═══ */
.ps-particle{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:100}
.ps-particle.gold{background:radial-gradient(circle,#ffd700,#daa520)}
.ps-particle.purple{background:radial-gradient(circle,#c090f0,#8060d0)}
@keyframes p1{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(-80px,-120px) scale(0);opacity:0}}
@keyframes p2{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(90px,-100px) scale(0);opacity:0}}
@keyframes p3{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(-60px,110px) scale(0);opacity:0}}
@keyframes p4{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(100px,80px) scale(0);opacity:0}}
@keyframes p5{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(-110px,-40px) scale(0);opacity:0}}
@keyframes p6{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(70px,-130px) scale(0);opacity:0}}
@keyframes p7{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(-40px,130px) scale(0);opacity:0}}
@keyframes p8{0%{transform:translate(0) scale(1);opacity:1}100%{transform:translate(120px,50px) scale(0);opacity:0}}

/* Sound toggle */
.ps-sound-toggle{position:absolute;top:8px;right:8px;background:var(--bg-panel);border:1px solid var(--border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--text-dim);transition:.2s;z-index:10}
.ps-sound-toggle:hover{color:var(--gold);border-color:var(--gold)}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .crd-flipper{transition-duration:.01ms !important;transform:none !important}
  .crd.shown .crd-flipper{transform:none !important}
  .crd-back{display:none !important}
  .ps-particle{display:none !important}
  .ps-booster.ripping .ps-tear-left,.ps-booster.ripping .ps-tear-right{display:none}
  .ps-booster.ripping>.ps-booster-img{animation:packRipSimple .3s ease forwards}
  @keyframes packRipSimple{to{opacity:0;transform:scale(.9)}}
  .ps-cmd::before,.ps-cmd-trophy::before{animation:none!important}
  .ps-cmd-trophy-img{animation:none!important}
  .ps-rip-btn::before{animation:none!important}
  .ps-booster-img{animation:none!important}
  .ps-ambient{animation:none!important}
  .ps-stage::before{animation:none!important}
  .ps-hint{animation:none!important}
}

/* ═══ LIVE PULLS FEED ═══ */
/* (journey section merged into .ps-cmd above) */

/* ═══ LIVE PULLS FEED ═══ */
.ps-live-feed{margin-top:16px;margin-bottom:16px;background:linear-gradient(170deg,rgba(26,21,14,.95),rgba(14,10,6,.98));border:1px solid rgba(120,60,200,.2);border-radius:16px;overflow:hidden;box-shadow:0 2px 20px rgba(120,60,200,.1),inset 0 1px 0 rgba(120,60,200,.05)}
.ps-feed-header{padding:10px 16px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#b060ff;border-bottom:1px solid rgba(120,60,200,.12);display:flex;align-items:center;gap:8px;text-shadow:0 0 6px rgba(160,80,255,.3)}
.ps-pulse-heart{color:#b060ff;font-size:14px;animation:heartbeat 1.2s ease-in-out infinite;display:inline-block}
@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.2)}56%{transform:scale(1)}}
.ps-pulse-powered{margin-left:auto;font-size:9px;font-weight:700;color:var(--text-dim);letter-spacing:.04em}
.ps-feed-list{max-height:160px;overflow-y:auto;scrollbar-width:thin}
.ps-feed-item{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:12px;color:var(--text-mid);border-bottom:1px solid rgba(120,60,200,.06);transition:background .15s}
.ps-feed-item:last-child{border-bottom:none}
.ps-feed-item:hover{background:rgba(120,60,200,.04)}
.ps-feed-avatar{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);object-fit:cover;flex-shrink:0}
.ps-feed-user{font-weight:700;color:#d4b0ff}
.ps-feed-card{font-weight:800;color:#b060ff;text-shadow:0 0 4px rgba(160,80,255,.2)}
.ps-feed-rarity{font-size:8px;font-weight:900;padding:2px 8px;border-radius:6px;color:#fff;margin-left:auto;flex-shrink:0}
.ps-feed-rarity.r-holo{background:linear-gradient(135deg,#b8860b,#daa520)}
.ps-feed-rarity.r-ultra{background:#a060d0}
.ps-feed-rarity.r-secret{background:linear-gradient(135deg,#daa520,#c44040)}
.ps-feed-rarity.r-illustration{background:#b040c0}
.ps-feed-rarity.r-common{background:#4a4038;color:#c0a878}
.ps-feed-time{font-size:10px;color:var(--text-dim);flex-shrink:0;margin-left:6px}

/* ═══ Pulse feed v2 — card thumb + glow + two-line body ═══ */
.ps-feed-item-v2{align-items:stretch;padding:10px 16px;gap:10px;position:relative;--glow:#b060ff}
.ps-feed-item-v2::before{content:'';position:absolute;left:0;top:10%;bottom:10%;width:2px;background:var(--glow);opacity:.5;border-radius:0 2px 2px 0;box-shadow:0 0 8px var(--glow)}
.ps-feed-item-v2:hover::before{opacity:.9}
.ps-feed-thumb{flex-shrink:0;width:32px;height:44px;border-radius:4px;overflow:hidden;background:#0a0806;position:relative;box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 10px -2px var(--glow,#b060ff);transition:transform .2s ease,box-shadow .2s ease}
.ps-feed-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ps-feed-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(155deg,rgba(255,255,255,.18) 0%,transparent 30%,transparent 70%,rgba(255,255,255,.08) 100%);pointer-events:none}
.ps-feed-item-v2:hover .ps-feed-thumb{transform:translateY(-1px) scale(1.04);box-shadow:0 2px 12px -2px var(--glow,#b060ff),0 0 0 1px rgba(0,0,0,.4)}
.ps-feed-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;justify-content:center}
.ps-feed-line1{font-size:12px;color:var(--text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-feed-line2{display:flex;align-items:center;gap:6px;font-size:10px}
.ps-feed-line2 .ps-feed-rarity{margin-left:0}
.ps-feed-line2 .ps-feed-time{margin-left:auto}
.ps-feed-price{font-size:10px;font-weight:900;color:#4ade80;background:rgba(74,222,128,.08);padding:1px 6px;border-radius:4px;border:1px solid rgba(74,222,128,.18);text-shadow:0 0 4px rgba(74,222,128,.3)}
@media(prefers-reduced-motion:reduce){
  .ps-feed-item-v2:hover .ps-feed-thumb{transform:none}
  .ps-pulse-heart{animation:none}
}

/* ═══ RIP ANOTHER — Celebration Banner ═══ */
.ps-rip-banner{position:relative;margin-top:18px;justify-content:center}
.ps-rip-banner-inner{
  display:flex;align-items:center;gap:16px;
  padding:18px 24px;
  background:linear-gradient(160deg,var(--bg-panel) 0%,rgba(218,165,32,.08) 100%);
  border:1px solid rgba(218,165,32,.35);
  border-radius:20px;
  box-shadow:0 8px 40px rgba(218,165,32,.15),0 0 0 1px rgba(218,165,32,.08);
  position:relative;overflow:hidden;
  max-width:440px;width:100%;margin:0 auto;
  transform:translateY(30px);opacity:0;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .4s ease;
}
.ps-rip-banner-show .ps-rip-banner-inner{transform:translateY(0);opacity:1}

.ps-rip-banner-glow{
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent 5%,var(--gold) 30%,#f0c850 50%,var(--gold) 70%,transparent 95%);
  animation:bannerGlowPulse 2s ease-in-out infinite alternate;
}
@keyframes bannerGlowPulse{0%{opacity:.5;filter:blur(0)}100%{opacity:1;filter:blur(1px)}}

.ps-rip-banner-pack{
  width:60px;height:auto;flex-shrink:0;border-radius:6px;
  filter:drop-shadow(0 4px 12px rgba(218,165,32,.3));
  animation:bannerPackFloat 3s ease-in-out infinite;
  cursor:pointer;transition:transform .2s;
}
.ps-rip-banner-pack:hover{transform:scale(1.08)}
@keyframes bannerPackFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}

.ps-rip-banner-info{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.ps-rip-banner-set{
  font-size:11px;font-weight:800;color:var(--text-mid);
  text-transform:uppercase;letter-spacing:.06em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ps-rip-banner-cta{
  padding:10px 24px!important;font-size:13px!important;font-weight:900!important;
  text-transform:uppercase;letter-spacing:.04em;border-radius:12px!important;
  position:relative;overflow:hidden;
}
.ps-rip-banner-cta::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  width:40%;left:-60%;
  animation:btnSweep 2.5s ease-in-out infinite;
}
.ps-rip-banner-grid{
  background:none;border:none;color:var(--text-dim);
  font-size:11px;font-weight:700;cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;
  font-family:inherit;padding:0;transition:color .2s;
}
.ps-rip-banner-grid:hover{color:var(--gold)}

/* Set collection progress in banner */
.ps-rip-banner-progress{display:flex;align-items:center;gap:8px;width:100%}
.ps-progress-bar{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.ps-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),#f0c850);border-radius:3px;transition:width .6s cubic-bezier(.34,1.56,.64,1);min-width:2px}
.ps-progress-text{font-size:10px;font-weight:800;color:var(--gold);white-space:nowrap;letter-spacing:.02em}

@media(max-width:700px){
  .ps-rip-banner-inner{flex-direction:column;text-align:center;padding:14px 16px;gap:10px}
  .ps-rip-banner-pack{width:50px}
  .ps-rip-banner-cta{width:100%;max-width:260px;padding:12px 20px!important}
  .ps-rip-banner-set{font-size:10px}
  .ps-rip-another-mega{font-size:18px;padding:14px 36px}
  .ps-stack-counter-row{gap:4px}
}
@media(prefers-reduced-motion:reduce){
  .ps-rip-another-btn{animation:none!important}
  .ps-rip-banner-inner{transition:none!important;transform:none!important;opacity:1!important}
  .ps-rip-banner-pack{animation:none!important}
  .ps-rip-banner-glow{animation:none!important}
  .ps-rip-banner-cta::before,.ps-rip-another-btn::before,.ps-rip-another-mega::before,.ps-btn-next-card::before{animation:none!important}
  .ps-rip-mega-glow{animation:none!important}
}

/* ═══ IMMERSIVE CARD COUNTER + INLINE NEXT ═══ */
.ps-stack-counter-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px}

/* Counter pill — subtle gold border with shimmer sweep */
.ps-stack-counter{font-size:10px;font-weight:800;color:var(--gold);letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg,rgba(218,165,32,.08),rgba(218,165,32,.02));border:1.5px solid rgba(218,165,32,.2);border-radius:8px;padding:4px 12px;position:relative;overflow:hidden}
.ps-stack-counter::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(218,165,32,.12),transparent);animation:counterSweep 4s ease-in-out infinite}
@keyframes counterSweep{0%{left:-60%}50%{left:160%}100%{left:160%}}

/* Next button — gold accent with glow pulse */
.ps-next-inline{padding:4px 12px;border-radius:8px;border:1.5px solid rgba(218,165,32,.35);background:linear-gradient(145deg,rgba(218,165,32,.12),rgba(218,165,32,.04));color:var(--gold);cursor:pointer;font-size:10px;font-weight:800;font-family:inherit;letter-spacing:.03em;transition:all .2s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;position:relative;overflow:hidden;animation:nextPulse 2.5s ease-in-out infinite}
@keyframes nextPulse{0%,100%{box-shadow:0 0 4px rgba(218,165,32,.1)}50%{box-shadow:0 0 14px rgba(218,165,32,.25)}}
.ps-next-inline::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(218,165,32,.2),transparent);animation:btnSweep 2.5s ease-in-out infinite}
.ps-next-inline:hover{border-color:rgba(218,165,32,.6);box-shadow:0 0 18px rgba(218,165,32,.35);background:linear-gradient(145deg,rgba(218,165,32,.22),rgba(218,165,32,.1));transform:translateY(-2px) scale(1.04)}
.ps-next-inline:active{transform:scale(.93);transition-duration:.05s}

/* Reveal All button — ghost with soft glow on hover */
.ps-reveal-inline{padding:4px 12px;border-radius:8px;border:1.5px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01));color:var(--text-mid);cursor:pointer;font-size:10px;font-weight:800;font-family:inherit;letter-spacing:.03em;transition:all .25s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;position:relative;overflow:hidden}
.ps-reveal-inline::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:revealSweep 5s ease-in-out infinite}
@keyframes revealSweep{0%{left:-60%}40%{left:160%}100%{left:160%}}
.ps-reveal-inline:hover{border-color:rgba(218,165,32,.4);color:var(--gold);box-shadow:0 0 16px rgba(218,165,32,.15),0 0 0 1px rgba(218,165,32,.06);transform:translateY(-2px) scale(1.04);background:linear-gradient(145deg,rgba(218,165,32,.08),rgba(218,165,32,.02))}
.ps-reveal-inline:active{transform:scale(.93);transition-duration:.05s}

/* (old big reveal buttons removed — now inline in counter row) */

/* ═══ MEGA RIP ANOTHER BUTTON ═══ */
.ps-rip-another-mega{display:inline-flex;align-items:center;gap:12px;padding:18px 48px;border-radius:18px;border:2px solid var(--gold);background:linear-gradient(145deg,#daa520,#c49018,#b8860b);color:#0a0806;font-size:22px;font-weight:900;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 6px 30px rgba(218,165,32,.4),0 0 60px rgba(218,165,32,.12),0 0 0 1px rgba(218,165,32,.1),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.12);text-transform:uppercase;letter-spacing:.06em;position:relative;overflow:hidden;font-family:inherit;margin:12px 0 8px}
.ps-rip-another-mega::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:btnSweep 2s ease-in-out infinite}
.ps-rip-another-mega:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 12px 50px rgba(218,165,32,.55),0 0 40px rgba(218,165,32,.25),0 0 0 1px rgba(218,165,32,.2)}
.ps-rip-another-mega:active{transform:scale(.94);box-shadow:0 2px 12px rgba(218,165,32,.2);transition:transform .05s}
.ps-rip-mega-glow{position:absolute;inset:-2px;border-radius:20px;background:conic-gradient(from 0deg,transparent 0%,rgba(218,165,32,.4) 25%,transparent 50%,rgba(240,200,80,.4) 75%,transparent 100%);animation:megaGlowSpin 3s linear infinite;filter:blur(4px);z-index:-1;pointer-events:none}
@keyframes megaGlowSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* Add to Binder button — immersive gold outline with sweep */
.ps-binder-btn{padding:5px 14px;border-radius:8px;border:1.5px solid rgba(218,165,32,.3);background:linear-gradient(145deg,rgba(218,165,32,.08),rgba(218,165,32,.02));color:var(--gold);cursor:pointer;font-size:11px;font-weight:800;font-family:inherit;letter-spacing:.03em;transition:all .2s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;position:relative;overflow:hidden}
.ps-binder-btn::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(218,165,32,.15),transparent);animation:binderSweep 3.5s ease-in-out infinite}
@keyframes binderSweep{0%{left:-60%}45%{left:160%}100%{left:160%}}
.ps-binder-btn:hover{border-color:rgba(218,165,32,.6);box-shadow:0 0 16px rgba(218,165,32,.25);background:linear-gradient(145deg,rgba(218,165,32,.18),rgba(218,165,32,.06));transform:translateY(-2px) scale(1.04)}
.ps-binder-btn:active{transform:scale(.93);transition-duration:.05s}
.ps-binder-btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.ps-binder-btn:disabled::after{animation:none}

/* View All Cards link enhancement */
.ps-rip-banner-grid{display:inline-flex;align-items:center;gap:5px;transition:all .2s ease}
.ps-rip-banner-grid svg{opacity:.6;transition:opacity .2s}
.ps-rip-banner-grid:hover svg{opacity:1}

/* Reduced motion — respect user preference */
@media(prefers-reduced-motion:reduce){
  .ps-rip-mega-glow{animation:none!important}
  .ps-btn-next-card::before,.ps-rip-another-mega::before{animation:none!important}
  .ps-next-inline,.ps-btn-next-card,.ps-btn-reveal-all,.ps-rip-another-mega{transition:none!important}
}

/* ═══════════════════════════════════════════════════════════════
   HOLO LOUNGE — v1.6.0
   Binder ring, trainer HUD, missing-cards peek, bulk-rip button
   ═══════════════════════════════════════════════════════════════ */

/* ── Binder Completion Ring ─────────────────────────────────── */
.ps-ring-row{
  display:flex;align-items:center;gap:14px;
  max-width:440px;margin:10px auto 0;padding:10px 16px;
  background:linear-gradient(135deg,var(--bg-panel),rgba(218,165,32,.05));
  border:1px solid rgba(218,165,32,.25);border-radius:14px;
  box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 rgba(218,165,32,.08);
  transition:border-color .3s ease,box-shadow .3s ease,transform .2s ease;
}
.ps-ring-row:hover{border-color:rgba(218,165,32,.5);box-shadow:0 6px 22px rgba(218,165,32,.1),inset 0 1px 0 rgba(218,165,32,.12);transform:translateY(-1px)}
.ps-ring-wrap{position:relative;flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center}
.ps-ring-svg{width:52px;height:52px;transform:rotate(-90deg);filter:drop-shadow(0 0 6px rgba(218,165,32,.35))}
.ps-ring-track{fill:none;stroke:rgba(218,165,32,.15);stroke-width:3.6}
.ps-ring-fill{fill:none;stroke:var(--gold);stroke-width:3.6;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.22,.61,.36,1);filter:drop-shadow(0 0 4px rgba(218,165,32,.6))}
.ps-ring-pct{position:absolute;font-family:'Inter',sans-serif;font-weight:900;font-size:13px;color:var(--gold);text-shadow:0 0 8px rgba(218,165,32,.4);letter-spacing:-.02em}
.ps-ring-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ps-ring-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-ring-label span{color:var(--gold);text-shadow:0 0 6px rgba(218,165,32,.25)}
.ps-ring-counts{font-size:12px;font-weight:700;color:var(--text-mid)}
.ps-ring-counts span{color:var(--text);font-weight:900}
.ps-ring-cta{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);text-decoration:none;padding:6px 12px;border:1px solid rgba(218,165,32,.25);border-radius:20px;transition:all .2s ease;flex-shrink:0;text-shadow:0 0 6px rgba(218,165,32,.2)}
.ps-ring-cta:hover{background:rgba(218,165,32,.1);border-color:var(--gold);transform:translateX(1px)}

/* Trainer HUD removed in v1.7.0 — replaced by Daily Streak strip + Lucky Foil meter below. */

/* ── Missing Cards Peek (horizontal card track) ─────────────── */
.ps-missing{
  max-width:760px;margin:0 auto 18px;padding:10px 16px;
  background:linear-gradient(135deg,var(--bg-panel),rgba(120,60,200,.03));
  border:1px solid rgba(120,60,200,.18);border-radius:14px;
}
.ps-missing-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}
.ps-missing-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#d4b0ff;text-shadow:0 0 6px rgba(160,80,255,.2)}
.ps-missing-title span{color:var(--gold);text-shadow:0 0 6px rgba(218,165,32,.3)}
.ps-missing-sub{font-size:10px;color:var(--text-dim);white-space:nowrap}
.ps-missing-track{display:flex;gap:8px;overflow-x:auto;padding:4px 0 6px;scrollbar-width:thin;scrollbar-color:rgba(120,60,200,.3) transparent;scroll-snap-type:x mandatory}
.ps-missing-track::-webkit-scrollbar{height:4px}
.ps-missing-track::-webkit-scrollbar-thumb{background:rgba(120,60,200,.3);border-radius:4px}
.ps-missing-card{position:relative;flex-shrink:0;width:56px;height:78px;border-radius:5px;overflow:hidden;background:#0a0806;box-shadow:0 0 0 1px rgba(120,60,200,.15),0 2px 8px rgba(0,0,0,.35);scroll-snap-align:start;transition:all .2s ease;cursor:pointer}
.ps-missing-card:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 0 0 1px rgba(160,80,255,.5),0 6px 18px rgba(160,80,255,.2)}
.ps-missing-card img{width:100%;height:100%;object-fit:cover;display:block}
.ps-missing-price{position:absolute;top:3px;right:3px;background:rgba(10,8,6,.86);color:#4ade80;font-size:8px;font-weight:900;padding:1px 4px;border-radius:3px;border:1px solid rgba(74,222,128,.3);text-shadow:0 0 3px rgba(74,222,128,.5)}

/* ── Bulk Rip button (secondary action next to main Rip) ────── */
.ps-rip-bulk{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,rgba(120,60,200,.12),rgba(218,165,32,.06));
  border:1px solid rgba(160,80,255,.4);color:#d4b0ff;
  font-family:'Inter',sans-serif;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
  padding:8px 14px;border-radius:10px;margin-left:10px;cursor:pointer;
  transition:all .2s ease;box-shadow:0 2px 10px rgba(120,60,200,.15)
}
.ps-rip-bulk:hover{background:linear-gradient(135deg,rgba(160,80,255,.25),rgba(218,165,32,.15));border-color:rgba(160,80,255,.65);transform:translateY(-1px);box-shadow:0 4px 18px rgba(160,80,255,.3);color:#fff}
.ps-rip-bulk-label{white-space:nowrap}
.ps-rip-bulk:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ── Bulk rip overlay between packs ─────────────────────────── */
.ps-bulk-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  z-index:880;display:none;align-items:center;justify-content:center;padding:20px;
  flex-direction:column;gap:12px;animation:ps-bulk-fade .25s ease
}
.ps-bulk-overlay.on{display:flex}
.ps-bulk-title{font-family:'Inter',sans-serif;font-weight:900;font-size:22px;color:var(--gold);text-shadow:0 0 12px rgba(218,165,32,.4);letter-spacing:-.01em}
.ps-bulk-sub{font-size:13px;color:var(--text-mid);font-weight:600}
.ps-bulk-progress{display:flex;gap:6px;margin-top:8px}
.ps-bulk-dot{width:14px;height:14px;border-radius:50%;background:rgba(218,165,32,.2);border:1px solid rgba(218,165,32,.35);transition:all .3s ease}
.ps-bulk-dot.done{background:var(--gold);box-shadow:0 0 8px rgba(218,165,32,.6)}
.ps-bulk-dot.active{background:rgba(218,165,32,.5);animation:ps-bulk-pulse 1s ease-in-out infinite}
@keyframes ps-bulk-fade{from{opacity:0}to{opacity:1}}
@keyframes ps-bulk-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:560px){
  .ps-ring-row{gap:10px;padding:8px 12px}
  .ps-ring-wrap{width:44px;height:44px}
  .ps-ring-svg{width:44px;height:44px}
  .ps-ring-pct{font-size:11px}
  .ps-ring-cta{font-size:9px;padding:5px 9px}
  .ps-missing-card{width:48px;height:66px}
  .ps-rip-bulk{padding:6px 10px;font-size:10px;margin-left:6px}
}
@media(prefers-reduced-motion:reduce){
  .ps-bulk-dot.active{animation:none}
  .ps-ring-fill{transition:none}
  .ps-ring-row:hover,.ps-missing-card:hover,.ps-rip-bulk:hover,.ps-beat-chip:hover,.ps-ach-popup{transform:none}
}

/* ═══════════════════════════════════════════════════════════════
   TROPHY CASE — v1.7.0
   Lucky Foil meter, Daily Login Streak strip,
   Achievement pop-ups, "You beat @user" chip
   ═══════════════════════════════════════════════════════════════ */

/* ── Lucky Foil meter ───────────────────────────────────────── */
.ps-foil{
  max-width:440px;margin:10px auto 0;padding:10px 16px;
  background:linear-gradient(135deg,rgba(120,60,200,.06),rgba(218,165,32,.04));
  border:1px solid rgba(160,80,255,.25);border-radius:14px;
  box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 rgba(160,80,255,.08);
  transition:border-color .3s ease,box-shadow .3s ease;
}
.ps-foil.fired{border-color:var(--gold);box-shadow:0 0 30px rgba(218,165,32,.35),inset 0 1px 0 rgba(218,165,32,.25);animation:ps-foil-fire .9s ease}
@keyframes ps-foil-fire{0%{transform:scale(1)}30%{transform:scale(1.03)}100%{transform:scale(1)}}
.ps-foil-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#d4b0ff;text-shadow:0 0 6px rgba(160,80,255,.25)}
.ps-foil-sparkle{font-size:14px;color:var(--gold);text-shadow:0 0 8px rgba(218,165,32,.5);animation:ps-foil-spin 3s linear infinite}
@keyframes ps-foil-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.ps-foil-label{flex:1}
.ps-foil-count{color:var(--text);font-weight:900;font-size:12px;letter-spacing:0}
.ps-foil-count span{color:var(--gold)}
.ps-foil-bar{height:6px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.ps-foil-fill{height:100%;width:0;background:linear-gradient(90deg,#a855f7,#daa520);transition:width .8s cubic-bezier(.22,.61,.36,1);box-shadow:0 0 12px rgba(218,165,32,.4)}
.ps-foil-fill.ready{background:linear-gradient(90deg,#daa520,#ffe080,#daa520);background-size:200% 100%;animation:ps-foil-ready 1.4s linear infinite;box-shadow:0 0 16px rgba(218,165,32,.75)}
@keyframes ps-foil-ready{from{background-position:0 0}to{background-position:200% 0}}
.ps-foil-hint{margin-top:5px;font-size:10px;color:var(--text-dim);font-weight:600;text-align:center}
.ps-foil-fill.ready ~ .ps-foil-hint,.ps-foil[data-counter][data-threshold] .ps-foil-hint{}

/* ── Daily Login Streak strip ────────────────────────────────── */
.ps-streak{
  max-width:440px;margin:10px auto 0;padding:10px 14px;
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,rgba(196,64,64,.06),rgba(224,112,48,.04),var(--bg-panel));
  border:1px solid rgba(224,112,48,.3);border-radius:14px;
  box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 rgba(224,112,48,.08);
}
.ps-streak-flame{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,rgba(224,112,48,.25),rgba(196,64,64,.1) 60%,transparent 80%);position:relative}
.ps-streak-flame-emoji{font-size:24px;filter:drop-shadow(0 0 6px rgba(224,112,48,.6));animation:ps-streak-flicker 1.8s ease-in-out infinite}
@keyframes ps-streak-flicker{0%,100%{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.08) rotate(2deg)}}
.ps-streak-body{flex:1;min-width:0}
.ps-streak-head{display:flex;align-items:baseline;gap:10px;margin-bottom:5px}
.ps-streak-day{font-family:'Inter',sans-serif;font-size:14px;font-weight:900;color:#ff8848;text-shadow:0 0 8px rgba(255,120,72,.35);letter-spacing:-.01em}
.ps-streak-best{font-size:10px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-left:auto}
.ps-streak-bar{height:4px;background:rgba(255,255,255,.04);border-radius:2px;overflow:hidden;margin-bottom:5px;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.ps-streak-fill{height:100%;background:linear-gradient(90deg,#c44040,#e07030,#ff8848);box-shadow:0 0 8px rgba(224,112,48,.5);transition:width .6s ease}
.ps-streak-sub{font-size:11px;color:var(--text-mid);font-weight:600}
.ps-streak-sub strong{color:var(--gold);font-weight:900;text-shadow:0 0 6px rgba(218,165,32,.3)}

/* ── Achievement pop-ups (stacked toast column, top-right) ──── */
.ps-ach-host{position:fixed;top:84px;right:18px;display:flex;flex-direction:column;gap:10px;z-index:950;pointer-events:none;max-width:340px}
.ps-ach-popup{
  --ach-color:#daa520;
  display:flex;gap:11px;align-items:flex-start;
  background:linear-gradient(135deg,var(--bg-panel),rgba(0,0,0,.45));
  border:1.5px solid var(--ach-color);border-radius:14px;
  padding:12px 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 24px color-mix(in srgb,var(--ach-color) 35%,transparent),inset 0 1px 0 color-mix(in srgb,var(--ach-color) 20%,transparent);
  transform:translateX(400px);opacity:0;transition:all .5s cubic-bezier(.22,.61,.36,1);
  pointer-events:auto;min-width:260px;
}
.ps-ach-popup.in{transform:translateX(0);opacity:1}
.ps-ach-popup.out{transform:translateX(400px) scale(.95);opacity:0}
.ps-ach-ico{width:38px;height:38px;border-radius:10px;background:var(--ach-color);color:#0a0806;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 16px color-mix(in srgb,var(--ach-color) 55%,transparent);filter:brightness(1.15)}
.ps-ach-body{flex:1;min-width:0}
.ps-ach-tier{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ach-color);text-shadow:0 0 4px color-mix(in srgb,var(--ach-color) 45%,transparent)}
.ps-ach-name{font-family:'Inter',sans-serif;font-size:15px;font-weight:900;color:var(--text);margin:2px 0 3px;letter-spacing:-.01em}
.ps-ach-desc{font-size:11px;color:var(--text-mid);font-weight:600;line-height:1.35}

/* ── "You beat @user by $X" chip (inline in resultBar) ──────── */
.ps-beat-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 11px 5px 5px;
  background:linear-gradient(135deg,rgba(74,222,128,.1),rgba(218,165,32,.06));
  border:1px solid rgba(74,222,128,.35);border-radius:20px;
  font-size:11px;color:var(--text-mid);
  transition:all .25s ease;animation:ps-beat-pop .5s cubic-bezier(.34,1.56,.64,1);
}
.ps-beat-chip img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid rgba(74,222,128,.4);flex-shrink:0}
.ps-beat-chip strong{color:#d4b0ff;font-weight:800}
.ps-beat-chip .ps-beat-amt{color:#4ade80;text-shadow:0 0 6px rgba(74,222,128,.4);font-weight:900}
.ps-beat-chip:hover{border-color:rgba(74,222,128,.6);transform:translateY(-1px);box-shadow:0 4px 12px rgba(74,222,128,.15)}
@keyframes ps-beat-pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05);opacity:1}100%{transform:scale(1)}}

/* ── Trophy Case responsive ─────────────────────────────────── */
@media(max-width:560px){
  .ps-foil{padding:8px 12px}
  .ps-streak{gap:10px;padding:8px 12px}
  .ps-streak-flame{width:38px;height:38px}
  .ps-streak-flame-emoji{font-size:20px}
  .ps-streak-day{font-size:13px}
  .ps-ach-host{top:72px;right:10px;left:10px;max-width:none}
  .ps-ach-popup{min-width:0}
  .ps-beat-chip{width:100%;justify-content:center;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
  .ps-foil-sparkle,.ps-foil-fill.ready,.ps-streak-flame-emoji,.ps-beat-chip{animation:none}
  .ps-ach-popup{transition:opacity .3s ease}
  .ps-foil-fill,.ps-streak-fill{transition:none}
}

/* ═══════════════════════════════════════════════════════════════
   CINEMA CUT — v1.8.0
   3D pack tear · God-pack full-screen sequence · Swipe hint · Fullscreen card zoom
   ═══════════════════════════════════════════════════════════════ */

/* ── 3D pack tear — perspective stage + enhanced rip ────────── */
.ps-stage{perspective:1200px;perspective-origin:50% 35%}
.ps-booster{transform-style:preserve-3d;will-change:transform}
.ps-booster:hover .ps-booster-img{transform:rotateY(-4deg) rotateX(3deg) scale(1.02)}
.ps-booster.ripping{transform:rotateX(2deg)}
.ps-booster.ripping .ps-tear-left{animation:tearLeft3D .85s cubic-bezier(.4,.05,.2,1) forwards}
.ps-booster.ripping .ps-tear-right{animation:tearRight3D .85s cubic-bezier(.4,.05,.2,1) forwards}
.ps-booster.ripping>.ps-booster-img{animation:packFade3D .6s ease .2s forwards}
@keyframes tearLeft3D{
  0%  {transform:rotateY(0) translateZ(0);opacity:1;filter:brightness(1)}
  25% {transform:rotateY(-8deg) translateZ(4px);filter:brightness(1.3) drop-shadow(0 0 12px rgba(218,165,32,.5))}
  60% {transform:rotateY(-30deg) translateZ(20px) translateX(-14px) rotateX(-4deg);opacity:.9}
  100%{transform:rotateY(-80deg) translateZ(40px) translateX(-60px) rotateX(-10deg);opacity:0}
}
@keyframes tearRight3D{
  0%  {transform:rotateY(0) translateZ(0);opacity:1;filter:brightness(1)}
  25% {transform:rotateY(8deg) translateZ(4px);filter:brightness(1.3) drop-shadow(0 0 12px rgba(218,165,32,.5))}
  60% {transform:rotateY(30deg) translateZ(20px) translateX(14px) rotateX(-4deg);opacity:.9}
  100%{transform:rotateY(80deg) translateZ(40px) translateX(60px) rotateX(-10deg);opacity:0}
}
@keyframes packFade3D{
  0%  {opacity:1;transform:scale(1.05) translateZ(0)}
  50% {opacity:.4;transform:scale(1.12) translateZ(24px)}
  100%{opacity:0;transform:scale(1.18) translateZ(48px)}
}
/* Foil shimmer sheen during tear */
.ps-booster.ripping::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:3;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.25) 45%,rgba(218,165,32,.35) 50%,rgba(255,255,255,.25) 55%,transparent 100%);
  background-size:200% 100%;
  animation:packSheen .7s ease forwards;
  mix-blend-mode:screen;
}
@keyframes packSheen{0%{background-position:-100% 0;opacity:0}30%{opacity:1}100%{background-position:200% 0;opacity:0}}

/* Swipe-to-rip hint removed in v2.4.2 (Tap Only) — feature deprecated. */

/* ── God-pack full-screen sequence ──────────────────────────── */
.ps-godpack-overlay{
  position:fixed;inset:0;z-index:9999;
  background:radial-gradient(ellipse at 50% 50%,rgba(30,20,10,.92),rgba(0,0,0,.97));
  display:none;align-items:center;justify-content:center;flex-direction:column;gap:18px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  overflow:hidden;perspective:800px;
}
.ps-godpack-overlay.on{display:flex;animation:gpFade .5s ease forwards}
.ps-godpack-overlay.out{animation:gpFadeOut .6s ease forwards}
@keyframes gpFade{from{opacity:0}to{opacity:1}}
@keyframes gpFadeOut{from{opacity:1;backdrop-filter:blur(14px)}to{opacity:0;backdrop-filter:blur(0)}}
.ps-godpack-beams{
  position:absolute;inset:-50%;pointer-events:none;
  background:
    conic-gradient(from 0deg at 50% 50%,
      transparent 0deg, rgba(218,165,32,.12) 10deg, transparent 20deg,
      transparent 60deg, rgba(255,107,107,.1) 70deg, transparent 80deg,
      transparent 120deg, rgba(160,96,208,.12) 130deg, transparent 140deg,
      transparent 180deg, rgba(218,165,32,.12) 190deg, transparent 200deg,
      transparent 240deg, rgba(255,107,107,.1) 250deg, transparent 260deg,
      transparent 300deg, rgba(160,96,208,.12) 310deg, transparent 320deg,
      transparent 360deg);
  animation:gpBeams 6s linear infinite;
  filter:blur(4px);
}
@keyframes gpBeams{to{transform:rotate(360deg)}}
.ps-godpack-title{
  font-family:'Inter',sans-serif;font-weight:900;font-size:clamp(48px,14vw,140px);
  background:linear-gradient(135deg,#daa520 0%,#ff6b6b 20%,#ffe080 40%,#c090f0 60%,#ffe080 80%,#daa520 100%);
  background-size:300% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  letter-spacing:-.04em;line-height:.9;text-align:center;
  text-shadow:0 0 80px rgba(218,165,32,.4);
  animation:gpTitleShimmer 2.8s ease-in-out infinite,gpTitlePop .8s cubic-bezier(.34,1.56,.64,1) both;
  transform-origin:center;
}
@keyframes gpTitleShimmer{0%,100%{background-position:0% center}50%{background-position:200% center}}
@keyframes gpTitlePop{
  0%  {transform:scale(0) rotate(-8deg);opacity:0;filter:blur(20px)}
  50% {transform:scale(1.08) rotate(1deg);filter:blur(0)}
  100%{transform:scale(1) rotate(0);opacity:1;filter:blur(0)}
}
.ps-godpack-sub{
  font-family:'Inter',sans-serif;font-weight:700;font-size:clamp(13px,2.2vw,17px);
  color:var(--text);letter-spacing:.15em;text-transform:uppercase;
  opacity:0;animation:gpSubFade .6s ease .5s both;
  text-shadow:0 0 12px rgba(218,165,32,.25);
}
.ps-godpack-sub strong{color:var(--gold);text-shadow:0 0 8px rgba(218,165,32,.5)}
@keyframes gpSubFade{to{opacity:1}}
.ps-godpack-stars{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
}
.ps-godpack-star{
  position:absolute;width:4px;height:4px;background:#ffe080;border-radius:50%;
  box-shadow:0 0 8px #ffe080,0 0 16px rgba(255,224,128,.6);
  animation:gpStar 1.4s linear forwards;opacity:0;
}
@keyframes gpStar{
  0%  {transform:translate(0,0) scale(0);opacity:0}
  20% {opacity:1}
  100%{transform:translate(var(--dx,0),var(--dy,0)) scale(1);opacity:0}
}

/* ── Fullscreen card zoom (mobile double-tap or desktop click) ── */
.ps-card-fullscreen{
  position:fixed;inset:0;z-index:9500;
  background:rgba(0,0,0,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  display:none;align-items:center;justify-content:center;padding:20px;
  animation:cfFade .25s ease;cursor:zoom-out;
}
.ps-card-fullscreen.on{display:flex}
@keyframes cfFade{from{opacity:0}to{opacity:1}}
.ps-card-fullscreen-inner{
  max-width:min(440px,92vw);max-height:92vh;
  transform:scale(.7);opacity:0;
  animation:cfZoomIn .5s cubic-bezier(.34,1.56,.64,1) forwards;
  filter:drop-shadow(0 24px 64px rgba(0,0,0,.7)) drop-shadow(0 0 40px var(--cf-glow,rgba(218,165,32,.35)));
}
@keyframes cfZoomIn{to{transform:scale(1);opacity:1}}
.ps-card-fullscreen-inner img{width:100%;height:auto;max-height:92vh;object-fit:contain;border-radius:14px;display:block}
.ps-card-fullscreen-hint{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  font-size:11px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.7;pointer-events:none;
}

@media(prefers-reduced-motion:reduce){
  .ps-booster.ripping,.ps-booster.ripping .ps-tear-left,.ps-booster.ripping .ps-tear-right,.ps-booster.ripping>.ps-booster-img{animation:none}
  .ps-booster.ripping::after,.ps-godpack-beams,.ps-godpack-star{animation:none;display:none}
  .ps-godpack-title{animation:none;transform:scale(1)}
  .ps-card-fullscreen-inner{animation:none;transform:scale(1);opacity:1}
}

/* ════════════════════════════════════════════════════════════════
   VINTAGE VAULT (v1.7.0) — Era tabs, Classic pack wrapper, 1st Ed stamp
   GALLERY OPENS (v1.6.8) — Set-picker modal replaces scroll rail
   ════════════════════════════════════════════════════════════════ */

.hidden{display:none !important}

/* ── Set picker trigger (replaces the old scroll rail) ────────── */
.ps-set-trigger{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;margin:0 0 12px;background:linear-gradient(160deg,var(--bg-raised,#241c12),var(--bg-panel,#1a150e));border:1px solid rgba(218,165,32,.35);border-radius:14px;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);text-align:left;color:inherit;font:inherit;position:relative;overflow:hidden}
.ps-set-trigger::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,165,32,.5),transparent)}
.ps-set-trigger:hover,.ps-set-trigger:focus-visible{transform:translateY(-2px);box-shadow:0 8px 24px rgba(218,165,32,.18),inset 0 1px 0 rgba(218,165,32,.15);border-color:var(--gold,#daa520);outline:none}
.ps-set-trigger.is-classic{border-color:rgba(196,64,64,.4);background:linear-gradient(160deg,rgba(120,90,50,.2),rgba(60,40,22,.15))}
.ps-set-trigger.is-classic::before{background:linear-gradient(90deg,transparent,rgba(196,64,64,.5),transparent)}
.ps-set-trigger.is-classic:hover{border-color:var(--red,#c44040);box-shadow:0 8px 24px rgba(196,64,64,.2)}

.ps-trigger-logo{width:70px;height:42px;display:flex;align-items:center;justify-content:center;background:#000;border-radius:8px;padding:4px;flex-shrink:0;border:1px solid rgba(255,255,255,.05)}
.ps-trigger-logo img{max-width:100%;max-height:100%;object-fit:contain}
.ps-trigger-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ps-trigger-label{font-size:9.5px;font-weight:800;color:var(--text3,#6e5e45);letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.ps-trigger-era-badge{font-size:8.5px;letter-spacing:.12em;background:linear-gradient(180deg,#6b0f0f,#3a0505);color:#e8d9aa;padding:2px 6px;border-radius:3px;border:1px solid rgba(232,217,170,.5);font-weight:900}
.ps-trigger-name{font-family:'Orbitron','Inter',sans-serif;font-size:clamp(18px,4vw,22px);font-weight:900;color:var(--text);line-height:1.1;letter-spacing:.01em;text-shadow:0 2px 8px rgba(0,0,0,.35);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-set-trigger.is-classic .ps-trigger-name{color:#ffd37a}
.ps-trigger-meta{font-size:10.5px;color:var(--text-mid);letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-trigger-meta b{color:var(--gold,#daa520)}
.ps-set-trigger.is-classic .ps-trigger-meta b{color:#ffd37a}
.ps-trigger-chev{color:var(--gold,#daa520);transition:transform .2s;display:flex;align-items:center;flex-shrink:0}
.ps-set-trigger.is-classic .ps-trigger-chev{color:var(--red,#c44040)}
.ps-set-trigger:hover .ps-trigger-chev{transform:translateY(2px)}

/* ── Picker modal ─────────────────────────────────────────────── */
.ps-picker-modal{position:fixed;inset:0;background:rgba(10,8,6,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:flex-start;justify-content:center;z-index:10000;padding:40px 14px;overflow-y:auto;animation:psPickerFade .22s ease-out}
.ps-picker-modal.on{display:flex}
@keyframes psPickerFade{from{opacity:0}to{opacity:1}}

.ps-picker-inner{background:linear-gradient(180deg,var(--bg-panel,#1a150e),#0f0b07);border:1px solid rgba(218,165,32,.35);border-radius:18px;max-width:960px;width:100%;padding:20px 22px 28px;position:relative;box-shadow:0 40px 80px rgba(0,0,0,.7),inset 0 1px 0 rgba(218,165,32,.2);animation:psPickerSlide .28s cubic-bezier(.34,1.56,.64,1)}
@keyframes psPickerSlide{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}

.ps-picker-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.ps-picker-title{font-family:'Orbitron','Inter',sans-serif;font-weight:900;font-size:17px;color:var(--gold,#daa520);letter-spacing:.06em;text-transform:uppercase}
.ps-picker-era-chips{display:flex;gap:6px;padding:3px;background:rgba(10,8,6,.6);border:1px solid var(--border,#2e2418);border-radius:10px}
.ps-era-chip{appearance:none;border:none;background:transparent;color:var(--text-mid);font-family:inherit;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:7px;cursor:pointer;transition:all .18s;display:flex;align-items:center;gap:5px}
.ps-era-chip:hover{color:var(--text)}
.ps-era-chip.on{background:linear-gradient(180deg,rgba(218,165,32,.25),rgba(218,165,32,.08));color:var(--gold,#daa520);box-shadow:inset 0 0 0 1px rgba(218,165,32,.4)}
.ps-era-chip-classic.on{background:linear-gradient(180deg,rgba(196,64,64,.25),rgba(196,64,64,.08));color:#ffd37a;box-shadow:inset 0 0 0 1px rgba(196,64,64,.5)}
.ps-era-chip .ps-era-sub{font-size:8.5px;opacity:.7;padding:2px 5px;border-radius:3px;background:rgba(218,165,32,.18);font-weight:700;letter-spacing:.12em}
.ps-era-chip-classic .ps-era-sub{background:rgba(196,64,64,.25)}

.ps-picker-x{margin-left:auto;background:transparent;border:1px solid var(--border,#2e2418);color:var(--text-mid);width:34px;height:34px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.ps-picker-x:hover{background:rgba(196,64,64,.15);border-color:var(--red,#c44040);color:var(--red,#c44040);transform:rotate(90deg)}

.ps-picker-controls{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.ps-picker-search-wrap{position:relative;flex:1;min-width:220px}
.ps-picker-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-mid);pointer-events:none}
.ps-picker-search{width:100%;padding:11px 14px 11px 36px;background:var(--bg,#0a0806);border:1px solid var(--border,#2e2418);border-radius:10px;color:var(--text);font:inherit;font-size:13px;outline:none;transition:all .15s}
.ps-picker-search:focus{border-color:var(--gold,#daa520);box-shadow:0 0 0 3px rgba(218,165,32,.15)}
.ps-picker-search::-webkit-search-cancel-button{appearance:none}

.ps-picker-body{max-height:68vh;overflow-y:auto;padding-right:4px;margin-right:-4px}
.ps-picker-body::-webkit-scrollbar{width:6px}
.ps-picker-body::-webkit-scrollbar-track{background:transparent}
.ps-picker-body::-webkit-scrollbar-thumb{background:var(--border,#2e2418);border-radius:3px}
.ps-picker-body::-webkit-scrollbar-thumb:hover{background:rgba(218,165,32,.3)}

.ps-picker-series-block{margin-bottom:22px}
.ps-picker-series-block[data-series-era="classic"] .ps-picker-series-label{color:#ffd37a}
.ps-picker-series-block[data-series-era="classic"] .ps-picker-series-label::after{background:linear-gradient(90deg,rgba(196,64,64,.4),transparent)}
.ps-picker-series-label{display:flex;align-items:center;gap:10px;font-family:'Orbitron','Inter',sans-serif;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--gold,#daa520);text-transform:uppercase;margin:0 0 10px;padding:0 2px}
.ps-picker-series-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(218,165,32,.4),transparent)}
.ps-picker-series-count{font-family:'Inter',sans-serif;font-size:9.5px;background:rgba(218,165,32,.18);padding:2px 7px;border-radius:10px;letter-spacing:.08em;font-weight:800;color:var(--gold,#daa520)}
.ps-picker-series-block[data-series-era="classic"] .ps-picker-series-count{background:rgba(196,64,64,.25);color:#ffd37a}

.ps-picker-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ps-picker-card{appearance:none;background:var(--bg-raised,#241c12);border:1.5px solid var(--border,#2e2418);border-radius:12px;padding:14px 10px 12px;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:inherit;font:inherit;position:relative}
.ps-picker-card:hover,.ps-picker-card:focus-visible{border-color:var(--gold,#daa520);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px rgba(218,165,32,.2);outline:none}
.ps-picker-card.on{border-color:var(--gold,#daa520);background:linear-gradient(160deg,rgba(218,165,32,.12),var(--bg-raised,#241c12));box-shadow:0 0 0 1px var(--gold,#daa520),0 6px 16px rgba(218,165,32,.25)}
.ps-picker-card.on::after{content:"✓";position:absolute;top:6px;right:8px;font-size:11px;font-weight:900;color:var(--gold,#daa520);background:rgba(10,8,6,.8);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold,#daa520)}
.ps-picker-card.is-classic{background:linear-gradient(160deg,rgba(120,90,50,.15),var(--bg-raised,#241c12))}
.ps-picker-card.is-classic:hover,.ps-picker-card.is-classic:focus-visible{border-color:var(--red,#c44040);box-shadow:0 8px 20px rgba(196,64,64,.22)}
.ps-picker-card.is-classic.on{border-color:var(--red,#c44040);box-shadow:0 0 0 1px var(--red,#c44040),0 6px 16px rgba(196,64,64,.28)}
.ps-picker-card.is-classic.on::after{color:#ffd37a;border-color:#ffd37a}

.ps-picker-card-logo{height:44px;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.ps-picker-card-logo img{max-width:90%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.ps-picker-card-name{font-size:11.5px;font-weight:800;color:var(--text);line-height:1.2;letter-spacing:.01em}
.ps-picker-card.is-classic .ps-picker-card-name{color:#ffd37a}
.ps-picker-card-meta{font-size:9.5px;color:var(--text-dim,#6e5e45);letter-spacing:.04em;font-variant-numeric:tabular-nums}

.ps-picker-empty{text-align:center;padding:40px 20px;color:var(--text-mid);font-size:13px}
.ps-picker-empty-reset{background:none;border:none;color:var(--gold,#daa520);font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;padding:0}
.ps-picker-empty-reset:hover{color:var(--text)}

/* Mobile: full-screen modal ─────────────────────────────────── */
@media(max-width:720px){
  .ps-picker-modal{padding:0;align-items:stretch}
  .ps-picker-inner{border-radius:0;max-width:none;min-height:100vh;padding:16px 14px 24px}
  .ps-picker-head{gap:10px}
  .ps-picker-title{font-size:14px}
  .ps-picker-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
  .ps-picker-card{padding:10px 6px 8px}
  .ps-trigger-logo{width:54px;height:34px}
  .ps-trigger-name{font-size:16px}
}

/* ── Era tab bar ────────────────────────────────────────────── */
.ps-era-tabs{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:4px;background:linear-gradient(180deg,rgba(26,21,14,.8),rgba(10,8,6,.8));border:1px solid var(--border);border-radius:12px;max-width:max-content}
.ps-era-tab{appearance:none;border:none;background:transparent;color:var(--text-mid);font-family:'Inter',sans-serif;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 16px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}
.ps-era-tab:hover{color:var(--text)}
.ps-era-tab.on{background:linear-gradient(180deg,rgba(218,165,32,.18),rgba(218,165,32,.06));color:var(--gold);box-shadow:inset 0 0 0 1px rgba(218,165,32,.35),0 4px 12px rgba(218,165,32,.15)}
.ps-era-sub{font-size:8.5px;font-weight:700;opacity:.7;letter-spacing:.15em;padding:2px 5px;border-radius:3px;background:rgba(218,165,32,.15);color:var(--gold)}
.ps-era-tab.on .ps-era-sub{background:rgba(218,165,32,.3)}

/* ── 1st Edition toggle ─────────────────────────────────────── */
.ps-first-ed-toggle{margin-left:auto;padding-left:12px;border-left:1px solid var(--border);display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);transition:color .15s}
.ps-first-ed-toggle:hover{color:#c44040}
.ps-first-ed-toggle input{appearance:none;width:28px;height:16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:999px;position:relative;cursor:pointer;transition:all .2s}
.ps-first-ed-toggle input:checked{background:linear-gradient(90deg,#8a1c1c,#c44040);border-color:#c44040}
.ps-first-ed-toggle input::after{content:"";position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:var(--text);transition:transform .2s}
.ps-first-ed-toggle input:checked::after{transform:translateX(12px);background:#fff}
.ps-first-ed-label sup{font-size:.6em;margin-left:1px}

/* ── Classic set pills (subtle vintage tint) ────────────────── */
.ps-set-pill.ps-pill-classic{background:linear-gradient(160deg,rgba(120,90,50,.15),rgba(60,40,22,.1));border-color:rgba(196,64,64,.25)}
.ps-set-pill.ps-pill-classic:hover{border-color:rgba(196,64,64,.6);color:#e5c9a0}
.ps-set-pill.ps-pill-classic.on{border-color:#c44040;color:#ffd37a;background:rgba(196,64,64,.08);box-shadow:0 3px 0 #c44040,0 4px 12px rgba(196,64,64,.18)}

/* ── Retro pack wrapper (WotC era, no set-specific PNG) ────── */
.ps-booster.ps-booster-retro{position:relative}
.ps-booster.ps-booster-retro .ps-booster-img,
.ps-booster.ps-booster-retro .ps-tear-left img,
.ps-booster.ps-booster-retro .ps-tear-right img{
  /* Warm sepia tint + subtle grain over whatever base pack image is loaded */
  filter:sepia(.6) saturate(1.3) hue-rotate(-12deg) contrast(1.05);
}
.ps-booster.ps-booster-retro::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;border-radius:inherit;
  background:linear-gradient(160deg,rgba(140,80,40,.2) 0%,transparent 50%,rgba(80,40,20,.25) 100%);
  mix-blend-mode:overlay;
}
.ps-booster.ps-booster-retro::after{
  content:"";position:absolute;top:0;left:0;right:0;height:30%;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,rgba(255,200,100,.15),transparent);
  border-radius:inherit inherit 0 0;
}
.ps-booster.ps-booster-retro .ps-booster-set-overlay{opacity:.95 !important;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}

/* 1st Edition stamp overlay removed in v2.4.3 (Already Printed) — the WotC card
   art already shows the 1st Edition stamp where it appears in real life, so
   the overlay was double-stamping. The data-first-edition="1" attribute is
   still set by pack-sim.js and used by binder/grading systems; it just no
   longer renders a visual badge. */

@media(max-width:600px){
  .ps-era-tabs{flex-wrap:wrap;width:100%;max-width:none}
  .ps-first-ed-toggle{margin-left:0;padding-left:0;border-left:none;border-top:1px solid var(--border);padding-top:6px;width:100%}
}

