/* v4.3.0 — révélation plein écran façon FIFA (Mythique et + depuis la v4.3.2) : rareté → classe → famille → poids → statistiques → carte.
   Chaque étape est une couche centrée ; --t0 (début) et --td (durée) sont posées en ligne par full() (js/core/app.js). */
.rq{position:absolute;inset:0;display:grid;place-items:center;z-index:6;pointer-events:none}
.rq-s{grid-area:1/1;display:flex;flex-direction:column;align-items:center;gap:.5em;text-align:center;padding:0 6vw;max-width:100%;opacity:0;animation:rqs var(--td) var(--t0) both}
@keyframes rqs{0%{opacity:0;transform:scale(1.3);filter:blur(12px)}13%{opacity:1;transform:none;filter:none}84%{opacity:1;transform:none;filter:none}100%{opacity:0;transform:scale(.88) translateY(-2vh);filter:blur(8px)}}
.rq-s small{font:800 clamp(.72rem,3vw,.95rem)/1 system-ui;letter-spacing:.55em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 70%,#fff);text-indent:.55em;opacity:.9}
.rq-s b{display:block;font:900 clamp(2.2rem,12vw,5.2rem)/1.05 system-ui;letter-spacing:.06em;text-transform:uppercase;color:#fff;overflow-wrap:anywhere;
  text-shadow:0 0 .35em var(--c),0 0 1.1em var(--c),0 .06em .2em #000a}
.rq-s em{font-style:normal;font-weight:700;font-size:clamp(.9rem,3.6vw,1.25rem);opacity:.78;letter-spacing:.08em}
/* rareté : le mot claque, une barre lumineuse s'étire dessous */
.rq-rar b{font-size:clamp(2.6rem,15vw,6.6rem);letter-spacing:.1em;background:linear-gradient(180deg,#fff 30%,color-mix(in srgb,var(--c) 75%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 .25em var(--c)) drop-shadow(0 0 .9em var(--c))}
.rq-rar u{display:block;height:3px;width:0;border-radius:3px;background:linear-gradient(90deg,#0000,var(--c),#fff,var(--c),#0000);box-shadow:0 0 18px 2px var(--c);animation:rqu calc(var(--td)*.7) calc(var(--t0) + .15s) ease-out both}
@keyframes rqu{to{width:min(78vw,520px)}}
/* statistiques : barres qui se remplissent l'une après l'autre */
.rq-bars{display:grid;gap:.9em;width:min(86vw,460px)}
.rq-b{display:grid;grid-template-columns:1fr auto;gap:.2em .8em;align-items:end;text-align:left;opacity:0;animation:rqbi .4s calc(var(--t0) + .3s + var(--i)*.2s) both}
@keyframes rqbi{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.rq-b span{font:800 clamp(.82rem,3.4vw,1.05rem)/1 system-ui;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.rq-b b{font:900 clamp(1.1rem,5vw,1.6rem)/1 system-ui;letter-spacing:0;text-shadow:0 0 .6em var(--c)}
.rq-b i{grid-column:1/-1;display:block;height:.7em;border-radius:99px;background:#ffffff1c;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff22}
.rq-b s{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,#000),var(--c),#fff);box-shadow:0 0 14px var(--c);animation:rqf .85s calc(var(--t0) + .45s + var(--i)*.2s) cubic-bezier(.2,.8,.2,1) both}
@keyframes rqf{to{width:calc(var(--v)*100%)}}
/* rarités hautes : halo plus fort, léger tremblement du mot de rareté */
.rq8 .rq-rar b,.rq9 .rq-rar b,.rq10 .rq-rar b{animation:rqp 1.2s ease-in-out infinite alternate}
@keyframes rqp{from{filter:drop-shadow(0 0 .2em var(--c)) drop-shadow(0 0 .7em var(--c))}to{filter:drop-shadow(0 0 .35em #fff) drop-shadow(0 0 1.5em var(--c))}}
/* puces famille / poids sous le nom, une fois la carte révélée */
.rt-c{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:.3em 0 .4em}.rt-c span{padding:3px 12px;border-radius:99px;font:700 .78rem/1.4 system-ui;letter-spacing:.06em;background:color-mix(in srgb,var(--c) 22%,#0008);border:1px solid color-mix(in srgb,var(--c) 60%,transparent);color:#fff}
/* le fond monte en intensité pendant la charge */
.rv.big .rbg{animation:rqbg var(--ch) ease-in both}
@keyframes rqbg{from{filter:brightness(.55) saturate(.7)}to{filter:brightness(1.15) saturate(1.2)}}
/* toucher pendant la séquence : on saute à la carte */
.rv.skipd .rq,.rv.skipd .orb,.rv.skipd .rp{display:none}
.rv.skipd .rbg{animation:none}
.rv.skipd .rcw{animation:pop .55s cubic-bezier(.2,1.3,.3,1) both}
.rv.skipd .rt{animation:fi .4s .35s both}
.rv.skipd.big::after{animation:fh .6s both}
.rv.skipd.om{animation:fi .3s both}
@media(prefers-reduced-motion:reduce){.rq-s{animation-duration:calc(var(--td)*.6)}.rq8 .rq-rar b,.rq9 .rq-rar b,.rq10 .rq-rar b{animation:none}}
