
.card{width:63mm;height:88mm;box-sizing:border-box;border-radius:3.4mm;overflow:hidden;position:relative;padding:1.5mm;
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text',Inter,'Helvetica Neue',Arial,sans-serif;color:#1D1D1F;-webkit-font-smoothing:antialiased;text-align:left;background:linear-gradient(160deg,#FFFFFF,#D9D9DE);
  box-shadow:inset 0 0 0 .25mm rgba(0,0,0,.08)}
.card .frame{height:100%;box-sizing:border-box;border-radius:2.4mm;background:#fff;display:flex;flex-direction:column;
  padding:2.2mm 2.4mm 1.7mm;position:relative;overflow:hidden}
.card.r-rare{background:linear-gradient(135deg,#FAFAFC 0%,#C7C7CC 20%,#FFFFFF 38%,#A1A1A6 58%,#F2F2F7 78%,#C7C7CC 100%)}
.card.r-legendary{background:linear-gradient(135deg,#FFF4C2 0%,#E3B64F 18%,#FFF1B8 36%,#B8862B 55%,#FBE08A 74%,#C99A3A 90%,#FFF1B8 100%)}
.card.r-legendary .frame{background:linear-gradient(180deg,#FFFDF6 0%,#FFF5DA 100%)}
.card.r-mystery{background:#050507;padding:2.9mm}
.card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5mm}
.card .name{font-size:10.6pt;font-weight:700;letter-spacing:-.022em;line-height:1.06}
.card .sv{font-size:6.2pt;color:#86868B;margin-top:.5mm;letter-spacing:-.005em}
.card .gem svg{width:100%;height:100%}
.card .gem{width:5.4mm;height:5.4mm;border-radius:50%;flex:none;display:grid;place-items:center;font-size:6.6pt;font-weight:700;color:#fff;
  background:var(--g);box-shadow:0 .3mm .8mm rgba(0,0,0,.22),inset 0 0 0 .3mm rgba(255,255,255,.65)}
.card.r-rare .gem{background:linear-gradient(135deg,#FAFAFC 0%,#C7C7CC 20%,#FFFFFF 38%,#A1A1A6 58%,#F2F2F7 78%,#C7C7CC 100%);color:#3A3A3C}
.card.r-legendary .gem{background:linear-gradient(135deg,#FFF4C2 0%,#E3B64F 18%,#FFF1B8 36%,#B8862B 55%,#FBE08A 74%,#C99A3A 90%,#FFF1B8 100%);color:#5C3D00}
.card .art{flex:1;margin:1.8mm 0 1.7mm;border-radius:2mm;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--g)}
.card .art svg{width:88%;height:auto;max-height:38mm;position:relative;z-index:1;filter:drop-shadow(0 .5mm .9mm rgba(0,0,0,.18))}
.card .art .glow{position:absolute;inset:0;background:radial-gradient(90% 70% at 25% 12%,rgba(255,255,255,.55),rgba(255,255,255,0) 60%)}
.card .holo{position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,55,95,.0) 0%,rgba(255,159,10,.42) 7%,rgba(255,214,10,.42) 13%,rgba(48,209,88,.42) 19%,rgba(100,210,255,.45) 25%,rgba(191,90,242,.45) 31%,rgba(255,55,95,.0) 38%);background-size:180% 180%;mix-blend-mode:overlay;z-index:2;pointer-events:none}
.card .sparkle{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(circle at 18% 22%,#fff 0 .35mm,transparent .5mm),radial-gradient(circle at 78% 30%,#fff 0 .25mm,transparent .4mm),
  radial-gradient(circle at 64% 76%,#fff 0 .3mm,transparent .45mm),radial-gradient(circle at 30% 70%,#fff 0 .2mm,transparent .35mm),
  radial-gradient(circle at 88% 64%,#fff 0 .2mm,transparent .35mm)}
.card .type{display:flex;justify-content:space-between;font-size:5.7pt;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.card .foot{font-size:6.1pt;color:#6E6E73;margin-top:.7mm;line-height:1.3}
.card .foot b{color:#1D1D1F;font-weight:600}
.card .set{display:flex;justify-content:space-between;font-size:5pt;letter-spacing:.16em;color:#AEAEB2;margin-top:1mm;font-weight:600}
.card .shine{position:absolute;inset:0;pointer-events:none;z-index:4;border-radius:inherit;opacity:0;
  background:linear-gradient(115deg,rgba(255,255,255,0) 32%,rgba(255,255,255,.7) 46%,rgba(255,255,255,0) 60%);mix-blend-mode:soft-light}
.card.r-rare .shine,.card.r-legendary .shine,.card.r-mystery .shine{opacity:.8}
.card.r-legendary .frame>.holo{opacity:.35}

/* back */
.card.back .frame{padding:0}
.card.back .head{padding:2mm 2.4mm 1.6mm;display:flex;justify-content:space-between;align-items:center;gap:1.5mm}
.card.back .head .name{font-size:8.6pt}
.card.back .bar{height:1mm;background:var(--g)}
.card.back .body{padding:2mm 2.6mm 0;font-size:7.3pt;line-height:1.35;flex:1;display:flex;flex-direction:column;gap:1.5mm;letter-spacing:-.005em}
.card.back .lbl{font-size:5.2pt;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#86868B;display:block;margin-bottom:.3mm}
.card.back .formula{font-size:10.2pt;font-weight:600;text-align:center;padding:1.5mm 1mm;border-radius:1.8mm;color:var(--ink);background:var(--t);
  font-family:-apple-system,'SF Pro Display',Inter,sans-serif;letter-spacing:-.01em}
.card.back ul{margin:0;padding-left:3.2mm}
.card.back .bottom{display:flex;align-items:flex-end;gap:2mm;padding:0 2.6mm 2mm}
.card.back .qr{width:14mm;height:14mm;flex:none;background:#fff;border-radius:1mm;padding:.5mm;box-sizing:border-box}
.card.back .qr svg{width:100%;height:100%;display:block}
.card.back .scan{font-size:5.6pt;color:#86868B;line-height:1.35}
.card.back .scan b{color:#1D1D1F;letter-spacing:.14em;font-size:5.2pt}

/* mystery */
.card.r-mystery .frame{background:radial-gradient(130% 90% at 50% 0%,#2C2C31 0%,#111114 55%,#050507 100%);color:#F5F5F7;padding:4.2mm}
.card .digits{position:absolute;font-family:'SF Mono',Menlo,Consolas,monospace;font-size:4.7pt;line-height:1;letter-spacing:.08em;white-space:nowrap;overflow:hidden;
  color:transparent;background:linear-gradient(135deg,#FFF4C2 0%,#E3B64F 18%,#FFF1B8 36%,#B8862B 55%,#FBE08A 74%,#C99A3A 90%,#FFF1B8 100%);-webkit-background-clip:text;background-clip:text;opacity:.95}
.card .digits.t{top:.95mm;left:3mm;right:3mm}
.card .digits.b{bottom:.95mm;left:3mm;right:3mm;transform:rotate(180deg)}
.card .digits.l{top:3mm;left:.95mm;width:82mm;transform-origin:0 0;transform:rotate(90deg) translate(0,-100%);}
.card .digits.r{top:3mm;right:.95mm;width:82mm;transform-origin:100% 0;transform:rotate(-90deg) translate(0,-100%);}
.card.r-mystery .name{color:#fff}
.card.r-mystery .sv{color:#98989D}
.card.r-mystery .gem{background:linear-gradient(135deg,#FFF4C2 0%,#E3B64F 18%,#FFF1B8 36%,#B8862B 55%,#FBE08A 74%,#C99A3A 90%,#FFF1B8 100%);color:#3D2A00}
.card.r-mystery .art{background:radial-gradient(80% 70% at 50% 45%,#2A2A30 0%,#0B0B0E 100%);box-shadow:inset 0 0 0 .25mm rgba(255,241,184,.5)}
.card.r-mystery .art .holo{opacity:.75}
.card.r-mystery .type{color:#E3B64F}
.card.r-mystery .foot{color:#98989D} .card.r-mystery .foot b{color:#F5F5F7}
.card.r-mystery .set{color:#E3B64F}
.card.r-mystery.back .frame{padding:0}
.card.r-mystery.back .body{color:#E5E5EA}
.card.r-mystery.back .lbl{color:#E3B64F}
.card.r-mystery.back .formula{background:rgba(255,255,255,.07);color:#FBE08A;box-shadow:inset 0 0 0 .25mm rgba(255,241,184,.35)}
.card.r-mystery.back .bar{background:linear-gradient(135deg,#FFF4C2 0%,#E3B64F 18%,#FFF1B8 36%,#B8862B 55%,#FBE08A 74%,#C99A3A 90%,#FFF1B8 100%)}
.card.r-mystery.back .scan{color:#98989D} .card.r-mystery.back .scan b{color:#FBE08A}

/* challenge */
.card.challenge{background:linear-gradient(160deg,#48484A,#1C1C1E)}
.card.challenge .frame{background:#1C1C1E;color:#F5F5F7}
.card.challenge .kicker{display:flex;justify-content:space-between;font-size:5.6pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FFD60A}
.card.challenge .ctext{font-size:11.6pt;font-weight:700;line-height:1.14;letter-spacing:-.02em;margin-top:1.4mm}
.card.challenge .ask{font-size:6.8pt;margin-top:1.2mm;color:#AEAEB2}
.card.challenge .art{background:linear-gradient(140deg,#FFE55C 0%,#FFD60A 40%,#FF9F0A 100%);flex:1;margin:2mm 0 1.6mm}
.card.challenge .art svg{max-height:26mm;filter:none}
.card.challenge .foot{color:#AEAEB2}
.card.challenge .set{color:#636366}
.card.challenge.back .frame{background:#fff;color:#1D1D1F}
.card.challenge.back .bar{background:linear-gradient(90deg,#FFD60A,#FF9F0A)}
.card.challenge.back .answers{display:flex;flex-wrap:wrap;gap:1mm}
.card.challenge.back .chip{font-size:6.2pt;font-weight:600;color:#fff;border-radius:5mm;padding:.6mm 2.1mm}
.card.challenge.back .num{font-size:8.4pt;font-weight:600;text-align:center;padding:1.3mm;background:#F5F5F7;border-radius:1.8mm}

.card .pi-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}
.pi-big{font-size:1.38em;line-height:0;vertical-align:-.02em;font-weight:inherit}
