/* MoodleMaster — direction A « Foil arcade » : jetons, composants, carte */
body{margin:0}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes spin{to{--a:360deg}}
@keyframes sweep{from{background-position:150% 0}to{background-position:-50% 0}}
@keyframes pulse{0%,100%{box-shadow:inset 0 .08em 0 rgba(255,255,255,.6),0 1.4em 2em -1.2em #000,0 0 1.6em -.2em #ff6ad5,0 0 3.2em -.2em #6ad0ff}50%{box-shadow:inset 0 .08em 0 rgba(255,255,255,.6),0 1.4em 2em -1.2em #000,0 0 2.4em 0 #ffd36a,0 0 4.4em .2em #b78bff}}
@keyframes rays{to{transform:rotate(360deg)}}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}

/* ---------- Jetons ---------- */
.mm{--bg:#0b0a14;--bg2:#110f20;--pn:#16142a;--pn2:#1f1c38;--tx:#eeedf8;--mu:#a9a6c4;--ln:#2a2745;--ac:#b78bff;--act:#0d0c16;--ok:#7dffb0;--ko:#ff8a9c;--gold:#ffd36a;--halo:#1d1840;box-sizing:border-box;background:var(--bg);color:var(--tx);font-family:Figtree,system-ui,sans-serif;font-size:15px;line-height:1.35}
.mm.light{--bg:#f1f0f7;--bg2:#e7e5f2;--pn:#ffffff;--pn2:#eceaf6;--tx:#15132a;--mu:#56527a;--ln:#d2cfe6;--ac:#5a2bd0;--act:#ffffff;--ok:#0c7a4b;--ko:#b3243f;--gold:#8a5a00;--halo:#e2dcff}
.mm *{box-sizing:border-box}
.mm a{color:inherit;text-decoration:none}

/* ---------- Mise en page ---------- */
.ph{display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(500px 300px at 80% -5%,var(--halo),transparent),var(--bg)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 10px}
.scr{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding:6px 16px 16px;overflow:hidden}
.tabs{display:flex;gap:4px;padding:8px 8px 14px;background:var(--bg2);border-top:1px solid var(--ln)}
.tab{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--mu);font-weight:700;font-size:12px}
.mm a.tab.on{background:var(--ac);color:var(--act)}
.ro{display:flex;align-items:center;gap:12px}
.co{display:flex;flex-direction:column;gap:12px}
.bt{justify-content:space-between}
.ce{align-items:center;justify-content:center;text-align:center}
.wr{flex-wrap:wrap}
.gr{flex:1;min-width:0}
.g6{gap:6px}.g8{gap:8px}.g16{gap:16px}.g24{gap:24px}
.app{min-height:100vh;display:flex;flex-wrap:wrap;background:radial-gradient(900px 500px at 70% -10%,var(--halo),transparent),var(--bg)}
.side{flex:1 1 210px;padding:24px 16px;border-right:1px solid var(--ln);display:flex;flex-direction:column;gap:24px}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;color:var(--mu);font-weight:700}
.mm .nav a.on{background:var(--ac);color:var(--act)}
.main{flex:999 1 560px;min-width:0;padding:28px 32px 40px;display:flex;flex-direction:column;gap:22px}

/* ---------- Typographie ---------- */
.logo{font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:18px}
.t0{margin:0;font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:34px;line-height:1.08}
.t1{margin:0;font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:20px;line-height:1.15}
.h2{margin:0;font-family:Unbounded,system-ui,sans-serif;font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--mu);text-transform:uppercase}
.num{font-family:Unbounded,system-ui,sans-serif;font-weight:700}
.big{font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:28px;line-height:1.1}
.holo{background:linear-gradient(90deg,#ffd36a,#ff9be0,#9fe8ff,#b78bff,#ffd36a);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sweep 4s linear infinite}
.light .holo{background-image:linear-gradient(90deg,#8a5a00,#b3246f,#1b6fa8,#5a2bd0,#8a5a00)}
.mu{color:var(--mu)}.sm{font-size:13px}.b{font-weight:800}
.ok{color:var(--ok)}.ko{color:var(--ko)}.gold{color:var(--gold)}
.p{margin:0}

/* ---------- Composants ---------- */
.solde{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:18px;background:var(--pn);border:1px solid var(--ln);font-family:Unbounded,system-ui,sans-serif;font-weight:700;font-size:12px;white-space:nowrap}
.coin{display:inline-block;width:14px;height:14px;border-radius:50%;background:conic-gradient(#ffd36a,#fff3c0,#d99a1c,#ffd36a);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:14px;border:1px solid var(--ln);background:var(--pn);color:var(--tx);font:inherit;font-weight:800;cursor:pointer;text-align:center}
.mm .btn.pri{background:linear-gradient(180deg,#cdb0ff,#9a6bff);color:#0d0c16;border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 5px 0 #4a22b0,0 14px 24px -10px #9a6bff;margin-bottom:5px}
.mm .btn.or{background:linear-gradient(180deg,#fff0a8,#e0a52a);color:#201400;border-color:transparent;box-shadow:inset 0 1px 0 #fff,0 5px 0 #8a5f00,0 14px 24px -10px #e0a52a;margin-bottom:5px}
.btn.gho{background:transparent}
.btn.dan{background:transparent;color:var(--ko);border-color:var(--ko)}
.btn.sm{min-height:44px;padding:0 14px;border-radius:12px;font-size:13px}
.btn.blk{display:flex;width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--mu)}
.inp{min-height:48px;width:100%;padding:0 14px;border-radius:12px;border:1px solid var(--ln);background:var(--bg2);color:var(--tx);font:inherit}
.inp.foc{border-color:var(--ac);box-shadow:0 0 0 3px color-mix(in srgb,var(--ac) 35%,transparent)}
.inp.err{border-color:var(--ko)}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:22px;border:1px solid var(--ln);background:transparent;color:var(--tx);font:inherit;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}
.chip.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.seg{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--pn);border:1px solid var(--ln)}
.seg a{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700;font-size:13px;color:var(--mu)}
.mm .seg a.on{background:var(--pn2);color:var(--tx);box-shadow:inset 0 0 0 1px var(--ln)}
.rb{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:12px;background:var(--chip);color:#0d0c16;font-weight:800;font-size:12px;white-space:nowrap}
.rb i{font-style:normal;font-size:8px;letter-spacing:.05em}
.pan{background:var(--pn);border:1px solid var(--ln);border-radius:16px;padding:14px}
.rowi{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border-radius:14px;background:var(--pn);border:1px solid var(--ln)}
.rowi.me{border-color:var(--ac);box-shadow:inset 0 0 0 1px var(--ac)}
.ava{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--pn2);border:1px solid var(--ln);font-family:Unbounded,system-ui,sans-serif;font-weight:700;font-size:11px}
.ava.lg{width:72px;height:72px;font-size:20px;border:2px solid var(--ac)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--ok);flex:none}
.dot.off{background:transparent;border:2px solid var(--mu)}
.pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--ac);color:var(--act);font-weight:800;font-size:12px}
.track{display:block;height:10px;border-radius:5px;background:var(--pn2);overflow:hidden}
.track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#6ad0ff,#b78bff,#ff6ad5)}
.bub{max-width:78%;padding:9px 12px;border-radius:14px 14px 14px 4px;background:var(--pn2);font-size:14px}
.bub.me{align-self:flex-end;border-radius:14px 14px 4px 14px;background:var(--ac);color:var(--act)}
.ans{display:flex;align-items:center;gap:12px;min-height:56px;width:100%;padding:0 14px;border-radius:14px;border:1px solid var(--ln);background:var(--pn);color:var(--tx);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.ans b{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--pn2);font-family:Unbounded,system-ui,sans-serif;font-size:12px;flex:none}
.ans.on{border-color:var(--ac);box-shadow:inset 0 0 0 2px var(--ac)}
.ans.good{border-color:var(--ok);box-shadow:inset 0 0 0 2px var(--ok)}
.medal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:16px;color:#201400;background:conic-gradient(#fff0a8,#d99a1c,#fff3c0,#b8770a,#fff0a8);box-shadow:inset 0 0 0 3px rgba(255,255,255,.5),0 6px 14px -6px #000}
.medal.lock{background:none;color:var(--mu);border:2px dashed var(--mu);box-shadow:none}
.sk{display:block;background:linear-gradient(90deg,var(--pn) 25%,var(--pn2) 50%,var(--pn) 75%);background-size:200% 100%;animation:sweep 1.4s linear infinite;border-radius:12px}
.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px}
.ghost{width:120px;height:168px;border-radius:14px;border:2px dashed var(--mu);display:grid;place-items:center;font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:40px;color:var(--mu);transform:rotate(-6deg)}
.pack{position:relative;width:200px;height:290px;border-radius:10px;background:linear-gradient(135deg,#2a1f55,#5a2bd0 40%,#ff6ad5 72%,#ffd36a);box-shadow:inset 0 0 0 2px rgba(255,255,255,.4),0 30px 40px -24px #000,0 0 60px -10px #b78bff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;overflow:hidden;text-align:center}
.pack::before,.pack::after{content:"";position:absolute;left:0;right:0;height:16px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 3px,rgba(0,0,0,.25) 3px 6px)}
.pack::before{top:0}.pack::after{bottom:0}
.pack b{font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:24px;line-height:1.05;text-shadow:0 2px 0 rgba(0,0,0,.35)}
.burst{position:absolute;width:700px;height:700px;left:50%;top:300px;margin:-350px 0 0 -350px;background:repeating-conic-gradient(rgba(255,106,213,.28) 0 6deg,transparent 6deg 14deg,rgba(106,208,255,.26) 14deg 20deg,transparent 20deg 30deg);border-radius:50%;animation:rays 18s linear infinite;-webkit-mask:radial-gradient(#000 20%,transparent 70%);mask:radial-gradient(#000 20%,transparent 70%)}

/* ---------- Carte ---------- */
.s5{font-size:5px}.s6{font-size:6px}.s7{font-size:7.3px}.s8{font-size:8px}.s9{font-size:9px}.s10{font-size:10px}.s12{font-size:12px}.s14{font-size:14px}.s16{font-size:16px}
.slot{position:relative;width:15em;flex:none}
.card{--frame:#555;--chip:#b9bdca;--d:#5ce1ff;--dl:color-mix(in srgb,var(--d) 34%,transparent);position:relative;width:15em;height:21em;padding:.5em;border-radius:1.1em;background:var(--frame);box-shadow:inset 0 .08em 0 rgba(255,255,255,.35),inset 0 -.12em 0 rgba(0,0,0,.4),0 1.4em 2em -1.2em #000;font-family:Figtree,system-ui,sans-serif;line-height:1.2;color:#eeedf8;overflow:hidden;text-align:left}
.in{position:relative;height:100%;border-radius:.7em;background:linear-gradient(180deg,#1b1930,#100f1c);padding:.6em;display:flex;flex-direction:column;gap:.45em;box-shadow:inset 0 0 0 .06em rgba(255,255,255,.12)}
.top{display:flex;justify-content:space-between;align-items:center;gap:.4em}
.code{font-family:Unbounded,system-ui,sans-serif;font-weight:700;font-size:1em;letter-spacing:.02em}
.rar{display:flex;align-items:center;gap:.3em;padding:.15em .55em;border-radius:1em;background:var(--chip);color:#0d0c16;font-weight:800;font-size:.72em}
.rar i{font-style:normal;font-size:.62em;letter-spacing:.05em}
.art{position:relative;flex:1;min-height:0;border-radius:.45em;background-color:color-mix(in srgb,var(--d) 13%,#0c0b15);display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 .06em var(--dl)}
.glyph{font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:4.4em;line-height:1;color:var(--d);text-shadow:0 0 .35em var(--dl);white-space:nowrap}
.name{font-weight:700;font-size:.86em;line-height:1.15;min-height:2.3em}
.meta{font-size:.62em;letter-spacing:.08em;text-transform:uppercase;color:#a9a6c4}
.stats{display:flex;gap:.4em}
.stats span{flex:1;display:flex;justify-content:space-between;align-items:baseline;padding:.25em .5em;border-radius:.4em;background:rgba(255,255,255,.07);font-size:.62em;letter-spacing:.08em;color:#c9c6e0}
.stats b{font-family:Unbounded,system-ui,sans-serif;font-size:1.5em;color:#fff}
.fx{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
/* variante mini : grilles mobiles et vignettes */
.mini .name,.mini .meta,.mini .stats{display:none}
.mini .code{font-size:1.5em}
.mini .rar{font-size:1.3em}
.mini .rar i{display:none}
.mini .top{flex-direction:column;align-items:flex-start;gap:.3em}
/* domaines */
.d-info{--d:#5ce1ff}.d-phy{--d:#ff9d5c}.d-math{--d:#b9a3ff}.d-res{--d:#6dffb2}.d-lan{--d:#ff7fb6}.d-shs{--d:#ffe06a}
.d-info .art{background-image:linear-gradient(var(--dl) 1px,transparent 1px),linear-gradient(90deg,var(--dl) 1px,transparent 1px);background-size:1.1em 1.1em}
.d-phy .art{background-image:repeating-radial-gradient(circle at 50% 55%,transparent 0 .7em,var(--dl) .7em .78em)}
.d-math .art{background-image:repeating-linear-gradient(45deg,transparent 0 .6em,var(--dl) .6em .68em),repeating-linear-gradient(-45deg,transparent 0 .6em,var(--dl) .6em .68em)}
.d-res .art{background-image:radial-gradient(var(--dl) 22%,transparent 24%);background-size:1em 1em}
.d-lan .art{background-image:repeating-linear-gradient(0deg,transparent 0 .7em,var(--dl) .7em .78em)}
.d-shs .art{background-image:repeating-conic-gradient(from 0deg at 50% 55%,var(--dl) 0 5deg,transparent 5deg 20deg)}
/* raretés */
.r1{--frame:linear-gradient(160deg,#7b8092,#474a59);--chip:#b9bdca}
.r2{--frame:linear-gradient(160deg,#5fc9a6,#1f5f55);--chip:#7fe0bd}
.r3{--frame:linear-gradient(160deg,#7db4ff,#2743a8 55%,#7db4ff);--chip:#9cc8ff}
.r4{--frame:linear-gradient(160deg,#e0aaff,#6a2fd0 50%,#ff9be0);--chip:#e6bfff}
.r5{--frame:linear-gradient(160deg,#fff0a8,#d99a1c 40%,#fff3c0 60%,#b8770a);--chip:#ffe58a}
.r6{--frame:conic-gradient(from var(--a),#ff6ad5,#ffd36a,#7dffb0,#6ad0ff,#b78bff,#ff6ad5);--chip:linear-gradient(90deg,#ffd36a,#ff9be0,#9fe8ff)}
.card.r4{box-shadow:inset 0 .08em 0 rgba(255,255,255,.35),0 1.4em 2em -1.2em #000,0 0 1.6em -.5em #b06bff}
.card.r5{box-shadow:inset 0 .08em 0 rgba(255,255,255,.5),0 1.4em 2em -1.2em #000,0 0 2em -.4em #ffc94a}
.card.r6{padding:.62em;animation:spin 4s linear infinite,pulse 2.4s ease-in-out infinite}
.r3 .fx{background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.16) 47%,transparent 56%)}
.r4 .fx{background:linear-gradient(115deg,transparent 20%,rgba(255,120,220,.22) 38%,rgba(120,200,255,.22) 50%,rgba(160,255,190,.18) 62%,transparent 80%);mix-blend-mode:screen}
.r5 .fx{background:radial-gradient(rgba(255,255,255,.35) 6%,transparent 8%) 0 0/1.3em 1.3em,linear-gradient(115deg,transparent 15%,rgba(255,225,130,.3) 45%,rgba(255,255,255,.25) 50%,rgba(255,180,90,.25) 60%,transparent 85%);mix-blend-mode:screen}
/* Légendaire : cadre arc-en-ciel tournant, halo pulsé, rayons, étincelles, balayage holographique */
.r6 .in{background:linear-gradient(180deg,#2a1f55,#150f2b);box-shadow:inset 0 0 0 .08em rgba(255,255,255,.55),inset 0 0 1.4em rgba(183,139,255,.45)}
.r6 .art{background-color:#0c0b15;box-shadow:inset 0 0 0 .1em #fff}
.r6 .art::before{content:"";position:absolute;width:16em;height:16em;background:repeating-conic-gradient(rgba(255,106,213,.55) 0 6deg,rgba(255,211,106,.5) 6deg 12deg,transparent 12deg 20deg,rgba(106,208,255,.55) 20deg 26deg,transparent 26deg 36deg);animation:rays 12s linear infinite;mix-blend-mode:screen}
.r6 .art::after{content:"";position:absolute;inset:0;background:radial-gradient(#fff 0 .09em,transparent .12em) .4em .6em/2.3em 2.1em,radial-gradient(#fff 0 .06em,transparent .09em) 1.5em 1.7em/1.9em 2.6em;animation:twinkle 1.6s ease-in-out infinite}
.r6 .glyph{position:relative;z-index:1;color:#fff;text-shadow:0 0 .2em #fff,0 0 .5em #ff6ad5,0 0 .9em #6ad0ff}
.r6 .code,.r6 .name{background:linear-gradient(90deg,#ffd36a,#ff9be0,#9fe8ff,#ffd36a);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sweep 4s linear infinite}
.r6 .rar{box-shadow:0 0 .8em #fff}
.r6 .stats span{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 .08em rgba(255,255,255,.35)}
.r6 .fx{background:linear-gradient(115deg,transparent 0,rgba(255,106,213,.5) 12%,rgba(255,211,106,.45) 22%,rgba(255,255,255,.6) 28%,rgba(125,255,176,.4) 34%,rgba(106,208,255,.5) 44%,transparent 58%);background-size:200% 100%;mix-blend-mode:screen;animation:sweep 2.4s linear infinite}
/* états */
.miss .card{--frame:#23213a;--chip:#2e2b48;box-shadow:none;animation:none;padding:.5em}
.miss .in{background:#0f0e19;box-shadow:inset 0 0 0 .08em #2e2b48}
.miss .art{background:none;box-shadow:inset 0 0 0 .08em #2e2b48}
.miss .art::before,.miss .art::after{display:none}
.miss .glyph,.miss .name,.miss .meta,.miss .stats,.miss .fx{visibility:hidden}
.miss .rar{color:#aaa6cc;box-shadow:none}
.miss .code{color:#8f8bb5;background:none;-webkit-background-clip:border-box;background-clip:border-box;animation:none}
.light .miss .card{--frame:#d2cfe6;--chip:#d2cfe6}
.light .miss .in{background:#eceaf6;box-shadow:none}
.light .miss .art{box-shadow:inset 0 0 0 .1em #c2bedb}
.light .miss .rar,.light .miss .code{color:#56527a}
.dup .card{box-shadow:.4em .4em 0 -.05em #2f2c47,.8em .8em 0 -.1em #211f33,0 1.6em 2em -1em #000}
.cnt{position:absolute;top:-.7em;right:-.7em;min-width:2.2em;height:2.2em;padding:0 .4em;border-radius:1.1em;background:#fff;color:#0d0c16;font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:1.1em;display:grid;place-items:center;box-shadow:0 .3em .8em rgba(0,0,0,.5)}
.sel .card{outline:.18em solid var(--tx);outline-offset:.24em;transform:translateY(-.5em)}
.chk{position:absolute;top:-1.1em;left:-.6em;width:2.2em;height:2.2em;border-radius:50%;background:#7dffb0;color:#0d0c16;font-weight:800;font-size:1.1em;display:grid;place-items:center}
.back .in{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#1b1930 0 .5em,#15132a .5em 1em)}
.mono{width:3.2em;height:3.2em;border-radius:50%;display:grid;place-items:center;font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:2em;color:#0d0c16;background:conic-gradient(#ff6ad5,#ffd36a,#7dffb0,#6ad0ff,#b78bff,#ff6ad5)}
/* ---------- Cartes illustrées (plein cadre) ---------- */
@keyframes lgdrift{to{transform:translateX(-76px)}}
@keyframes lgwave{to{transform:translateX(-75px)}}
@keyframes lgrise{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-46px);opacity:0}}
@keyframes lgsway{from{transform:skewX(-9deg)}to{transform:skewX(9deg)}}
@keyframes lgfloat{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-.5em) rotate(1.2deg)}}
.full .in{overflow:hidden;background:#0c0b15}
.full .scene{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.full .scene svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.full .in::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(8,6,20,.72) 0,transparent 20%,transparent 50%,rgba(8,6,20,.94) 76%);pointer-events:none;z-index:1}
.full .top,.full .name,.full .meta,.full .stats{position:relative;z-index:2}
.full .sp{flex:1}
.full .name{font-size:.8em;min-height:0;text-shadow:0 .1em .4em #000}
.full .meta{color:#d6d3ee}
.full .stats span{background:rgba(10,8,24,.55);backdrop-filter:blur(4px)}
.slot.float{animation:lgfloat 6s ease-in-out infinite}
.rayz{position:absolute;left:50%;top:44%;width:26em;height:26em;margin:-13em 0 0 -13em;background:repeating-conic-gradient(var(--ray,rgba(255,255,255,.2)) 0 5deg,transparent 5deg 15deg);animation:rays 24s linear infinite;-webkit-mask:radial-gradient(#000 10%,transparent 62%);mask:radial-gradient(#000 10%,transparent 62%)}
.sc1{background:radial-gradient(circle at 50% 42%,#1f7f9a,#1a1f5c 55%,#090720);--ray:rgba(141,255,207,.22)}
.sc2{background:radial-gradient(circle at 50% 40%,#2c8a4e,#0f3d33 55%,#06140f);--ray:rgba(255,236,150,.2)}
.sc3{background:linear-gradient(180deg,#2b1055 0,#b0306f 45%,#ff8a3c 70%,#ffd36a);--ray:rgba(255,220,150,.26)}
.sc4{background:linear-gradient(180deg,#0a0f3a 0,#3a2a8f 45%,#1aa3c8 100%);--ray:rgba(160,220,255,.2)}
.sc5{background:linear-gradient(180deg,#050a24 0,#0f2a55 60%,#12403f 100%);--ray:rgba(125,255,176,.14)}
.tw{animation:twinkle 2.2s ease-in-out infinite}.tw2{animation-delay:.7s}.tw3{animation-delay:1.4s}
.spin{transform-box:view-box;animation:rays 5s linear infinite}
.spin2{transform-box:view-box;animation:rays 7s linear infinite}
.orb{transform-box:view-box;animation:rays 10s linear infinite}
.driftx{animation:lgdrift 14s linear infinite}
.wave1{animation:lgwave 7s linear infinite}.wave2{animation:lgwave 11s linear infinite reverse}.wave3{animation:lgwave 4.5s linear infinite}
.rise{animation:lgrise 4s ease-in infinite}.rise2{animation-delay:1.3s}.rise3{animation-delay:2.6s}
.sway{transform-box:fill-box;transform-origin:50% 100%;animation:lgsway 7s ease-in-out infinite alternate;filter:blur(2.5px)}
.sway2{animation-duration:10s;animation-direction:alternate-reverse}
/* scènes des Ultra rares */
@keyframes lgring{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@keyframes lgdash{to{stroke-dashoffset:-200}}
@keyframes lgbar{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.sc6{background:linear-gradient(180deg,#0d1b2e 0,#1f4a5c 52%,#e0a52a 58%,#3a2408 60%,#120c04 100%);--ray:rgba(255,225,130,.2)}
.sc7{background:radial-gradient(circle at 50% 40%,#5a3fc0,#24165c 55%,#0c0822);--ray:rgba(200,180,255,.18)}
.sc8{background:radial-gradient(circle at 50% 42%,#7a1f4a,#2a1040 55%,#0a0a22);--ray:rgba(255,150,190,.16)}
.sc9{background:radial-gradient(circle at 50% 42%,#b85a1c,#4a1f10 55%,#120806);--ray:rgba(255,200,140,.2)}
.sc10{background:linear-gradient(180deg,#0a1238 0,#3a2a7a 50%,#d0603c 88%,#ffb060 100%);--ray:rgba(255,255,255,.1)}
.sc11{background:linear-gradient(180deg,#050818 0,#10204a 70%,#1c4a7a 100%);--ray:rgba(150,200,255,.12)}
.sc12{background:linear-gradient(160deg,#2a0f5c,#151a6a 50%,#0a2a4a);--ray:rgba(185,163,255,.16)}
.sc13{background:radial-gradient(circle at 50% 42%,#0f6a8a,#0b2550 55%,#050a1c);--ray:rgba(92,225,255,.2)}
.ring{transform-box:fill-box;transform-origin:center;animation:lgring 3s ease-out infinite}.ring2{animation-delay:1s}.ring3{animation-delay:2s}
.dash{stroke-dasharray:50 150;animation:lgdash 3s linear infinite}
.bar{transform-box:fill-box;transform-origin:50% 100%;animation:lgbar 1.6s ease-in-out infinite}
@keyframes lgoff{to{offset-distance:100%}}
.e1{offset-path:path('M46 0A46 15 0 1 1 -46 0A46 15 0 1 1 46 0');offset-rotate:0deg;animation:lgoff 3.2s linear infinite}.e2{animation-duration:4.4s}.e3{animation-duration:5.6s;animation-direction:reverse}
.r5.full .fx{background:linear-gradient(115deg,transparent 25%,rgba(255,225,130,.28) 45%,rgba(255,255,255,.22) 50%,rgba(255,180,90,.2) 58%,transparent 78%);mix-blend-mode:screen}
.r5.full .in{box-shadow:inset 0 0 0 .08em rgba(255,240,170,.6)}
.r5.full .code{color:#ffe9a8}
@media (prefers-reduced-motion:reduce){.ring,.dash,.bar,.e1{animation:none!important}}
@media (prefers-reduced-motion:reduce){.slot.float,.rayz,.tw,.spin,.spin2,.orb,.driftx,.wave1,.wave2,.wave3,.rise,.sway{animation:none!important}}
@media (prefers-reduced-motion:reduce){.card,.fx,.holo,.sk,.burst,.art::before,.art::after,.code,.name{animation:none!important}}

/* ---------- Version Prisme (fusion de 3 exemplaires identiques) ---------- */
@keyframes pzmove{to{background-position:300% 0}}
.card.pz{filter:drop-shadow(0 0 .5em rgba(255,255,255,.5)) saturate(1.2)}
.card.pz::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:4;pointer-events:none;background:repeating-linear-gradient(115deg,transparent 0,rgba(255,106,213,.3) 5%,rgba(255,211,106,.3) 10%,rgba(125,255,176,.3) 15%,rgba(106,208,255,.3) 20%,rgba(183,139,255,.3) 25%,transparent 30%);background-size:300% 100%;mix-blend-mode:screen;animation:pzmove 6s linear infinite}
.card.pz::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:5;pointer-events:none;background:radial-gradient(#fff 0 .12em,transparent .17em) 1.1em 1.9em/6.1em 7.3em,radial-gradient(#fff 0 .08em,transparent .12em) 3.6em 5.2em/5.3em 8.9em;animation:twinkle 1.8s ease-in-out infinite;box-shadow:inset 0 0 0 .12em rgba(255,255,255,.75)}
.pz .rar::before{content:"✦";margin-right:.25em}
.pz .stats b{color:#fff6c0}
.fzb{position:absolute;left:50%;bottom:-.9em;transform:translateX(-50%);padding:.25em .7em;border-radius:1em;background:linear-gradient(90deg,#ffd36a,#ff9be0,#9fe8ff);color:#0d0c16;font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:1.05em;white-space:nowrap;box-shadow:0 .3em .8em rgba(0,0,0,.5);z-index:6}
@media (prefers-reduced-motion:reduce){.card.pz::before,.card.pz::after{animation:none!important}}

/* ---------- Carte exclusive (hors rareté) : Champion du Grand Quiz ---------- */
@keyframes rxglow{0%,100%{box-shadow:0 0 1.2em -.1em #ffc94a,0 0 4em -.4em #ff9be0,0 1.6em 2.4em -1.2em #000}50%{box-shadow:0 0 2.2em .1em #ffe58a,0 0 6em 0 #9fe8ff,0 1.6em 2.4em -1.2em #000}}
@keyframes rxtilt{0%,100%{transform:perspective(60em) rotateY(-11deg) rotateX(3deg)}50%{transform:perspective(60em) rotateY(11deg) rotateX(-3deg)}}
.rx{--frame:conic-gradient(from var(--a),#fff6c0,#b8770a,#ffe58a,#7a4a00,#fff3c0,#ff9be0,#d99a1c,#9fe8ff,#fff6c0);--chip:linear-gradient(90deg,#fff6c0,#e0a52a)}
.card.rx{padding:.5em;animation:spin 5s linear infinite,rxglow 3s ease-in-out infinite}
.rx .in{background:#07060c;box-shadow:inset 0 0 0 .07em #ffe58a,inset 0 0 0 .22em #07060c,inset 0 0 0 .27em rgba(255,155,224,.75)}
.rx.full .in{padding:.85em .8em .7em}
.scx{background:radial-gradient(circle at 50% 40%,#7a5512,#2a1a06 46%,#07060c 78%);--ray:rgba(255,229,138,.3)}
.rx .code,.rx .name,.rx .xt{background:linear-gradient(90deg,#fff6c0,#ffd36a,#fff,#e0a52a,#fff6c0);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sweep 3.5s linear infinite}
.rx .xt{position:relative;z-index:2;font-family:Unbounded,system-ui,sans-serif;font-weight:700;font-size:.5em;letter-spacing:.14em;text-transform:uppercase}
.rx.full .name{font-family:Unbounded,system-ui,sans-serif;font-weight:800;font-size:.92em;line-height:1.1}
.rx .meta{color:#ffe9a8;letter-spacing:.06em}
.rx .stats span{background:rgba(255,211,106,.14);box-shadow:inset 0 0 0 .08em rgba(255,229,138,.6);color:#ffe9a8}
.rx .stats b{color:#fff6c0}
.rx .xn{position:relative;z-index:2;text-align:center;font-size:.5em;letter-spacing:.2em;text-transform:uppercase;color:#ffe9a8;padding-top:.2em}
.rx .rar{box-shadow:0 0 .8em #ffd36a}
.rx .rar i{font-size:1em}
.rx .glyph{color:#ffd36a;text-shadow:0 0 .3em #ffc94a}
.rx .art{background-color:#120c04;box-shadow:inset 0 0 0 .08em #ffe58a}
.rx .fx{background:linear-gradient(115deg,transparent 0,rgba(255,229,138,.5) 14%,rgba(255,255,255,.75) 22%,rgba(255,155,224,.4) 30%,rgba(159,232,255,.45) 40%,transparent 56%);background-size:200% 100%;mix-blend-mode:screen;animation:sweep 2.6s linear infinite}
.slot.tilt{animation:rxtilt 7s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.slot.tilt{animation:none!important}}
.miss .card.rx{--frame:#23213a;animation:none;box-shadow:none}
.miss .rx .in{background:#0f0e19;box-shadow:inset 0 0 0 .08em #2e2b48}
.miss .rx .art{background:none;box-shadow:inset 0 0 0 .08em #2e2b48}
.miss .rx .code{background:none;color:#8f8bb5;animation:none}
