/* ==========================================================================
   Album Exomori : cartes à collectionner (Mon compte, profil, fiche produit)
   Format carte à collectionner 63 × 88 mm ; tailles internes en cqi (largeur de la carte).
   ========================================================================== */

@property --exo-ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

/* ---------- La carte ---------- */
.exo-ac { --u1: #6b7086; --u2: #262935; --mx: 50%; --my: 50%; --rx: 0deg; --ry: 0deg; position: relative; display: block; width: 100%; aspect-ratio: 63 / 88; perspective: 1200px; container-type: inline-size; }
.exo-ac__in { position: absolute; inset: 0; display: block; transform-style: preserve-3d; transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
.exo-ac.is-retournee .exo-ac__in { transform: rotateX(var(--rx)) rotateY(calc(180deg + var(--ry))); }
.exo-ac__face { position: absolute; inset: 0; display: block; backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: 4.5% / 3.2%; overflow: hidden; box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .06); }
.exo-ac__dos { transform: rotateY(180deg); }

.exo-ac__recto { display: flex; flex-direction: column; gap: 2.4cqi; padding: 3.4cqi; background: linear-gradient(155deg, var(--u1), var(--u2) 70%); color: #fff; text-align: left; }
.exo-ac__haut { display: flex; justify-content: space-between; align-items: baseline; gap: 2cqi; padding: 0 1.5%; }
.exo-ac__nom { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 8cqi/1.1 var(--f-titre); color: #fff; text-shadow: 0 1px 0 rgba(0, 0, 0, .35); }
.exo-ac__num { flex: none; font: 700 4.8cqi/1 var(--f-texte); font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, .85); }
.exo-ac__photo { position: relative; display: block; flex: 1 1 0; min-height: 0; border-radius: 2.6cqi; overflow: hidden; background: #fff; box-shadow: 0 0 0 .45cqi rgba(255, 255, 255, .6); }
.exo-ac__photo img { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: 50% 0; border: 0; border-radius: 0; margin: 0; }
.exo-ac__type { display: flex; justify-content: space-between; gap: 2cqi; padding: 1.6cqi 3cqi; border-radius: 2cqi; background: rgba(8, 9, 14, .55); font: 600 4.1cqi/1.25 var(--f-texte); }
.exo-ac__type span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exo-ac__type span:last-child { flex: none; max-width: 42%; color: rgba(255, 255, 255, .72); font-weight: 500; }
.exo-ac__infos { flex: none; display: grid; grid-template-columns: 1fr 1fr; gap: 1.6cqi 4cqi; align-content: start; margin: 0; padding: 1cqi 3cqi; font: 500 3.8cqi/1.3 var(--f-texte); color: rgba(255, 255, 255, .92); }
.exo-ac__infos dt { margin: 0; font: 700 2.9cqi/1.2 var(--f-texte); letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.exo-ac__infos dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.exo-ac__bas { display: flex; justify-content: space-between; align-items: center; padding: 0 1.5%; font: 700 3.6cqi/1 var(--f-texte); letter-spacing: .08em; color: rgba(255, 255, 255, .75); font-variant-numeric: tabular-nums; }
.exo-ac__rarete { display: inline-flex; align-items: center; gap: 1.4cqi; padding: 1.1cqi 2.6cqi; border-radius: 99px; background: rgba(0, 0, 0, .35); color: #fff; text-transform: uppercase; }
.exo-ac__rarete i { display: block; width: 2.6cqi; height: 2.6cqi; border-radius: 50%; background: #fff; }

/* Dos */
.exo-ac__dos { display: grid; place-items: center; border: 1.1cqi solid #22242e; background:
	radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--jaune) 22%, transparent), transparent 55%),
	repeating-linear-gradient(45deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 9px), #15161c; }
.exo-ac__logo { display: block; text-align: center; }
.exo-ac__logo b { display: block; font: 800 12cqi/1 var(--f-texte); letter-spacing: .02em; color: #f5f6ff; }
.exo-ac__logo b em { font-style: normal; color: var(--jaune); }
.exo-ac__logo small { display: block; margin-top: 2cqi; font: 600 3.6cqi/1 var(--f-texte); letter-spacing: .3em; text-transform: uppercase; color: #a9aecb; }
.exo-ac__fiche { position: absolute; inset: auto 8% 7% 8%; display: grid; gap: 1.4cqi; font: 500 3.7cqi/1.35 var(--f-texte); color: #a9aecb; text-align: center; }
.exo-ac__fiche strong { color: #f5f6ff; font-weight: 600; }
.exo-ac--dos-seul .exo-ac__dos { transform: none; }

/* ---------- 1re édition : liseré argent + sceau numéroté ---------- */
.exo-ac--edition .exo-ac__recto { box-shadow: inset 0 0 0 .6cqi rgba(226, 232, 248, .8), 0 14px 30px -16px rgba(0, 0, 0, .85); }
.exo-ac--edition .exo-ac__rarete i { background: linear-gradient(135deg, #fff, #9aa6c4); box-shadow: 0 0 0 1px rgba(255, 255, 255, .6); }
.exo-ac__sceau { position: absolute; top: 2cqi; right: 2.4cqi; display: block; width: 21cqi; transform: rotate(-8deg); filter: drop-shadow(0 1cqi 1.6cqi rgba(0, 0, 0, .45)); pointer-events: none; }
.exo-ac__sceau svg { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--f-texte); font-variant-numeric: tabular-nums; }

/* ---------- Légendaire (précommande) : un seul design pour toutes les figurines, « nuit électrique » ----------
   Fond nuit, fines lignes d'énergie, liseré bleu électrique qui tourne lentement, nom en capitales, étoile.
   Couleurs réglables ici : --leg-fond, --leg-1 (électrique), --leg-2 (glace). */
.exo-ac--legendaire:not(.exo-ac--v4) { --leg-fond: #060918; --leg-1: #3d6bff; --leg-2: #a8dcff; }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__recto {
	border: .8cqi solid transparent;
	background:
		radial-gradient(120% 60% at 50% -12%, rgba(61, 107, 255, .5), transparent 62%) padding-box,
		radial-gradient(90% 40% at 50% 112%, rgba(61, 107, 255, .28), transparent 70%) padding-box,
		repeating-linear-gradient(118deg, rgba(168, 220, 255, .055) 0 1px, transparent 1px 8px) padding-box,
		linear-gradient(var(--leg-fond), var(--leg-fond)) padding-box,
		conic-gradient(from var(--exo-ang), var(--leg-1), #fff 7%, var(--leg-2) 12%, #1a2470 32%, var(--leg-1) 50%, #fff 57%, var(--leg-2) 62%, #1a2470 82%, var(--leg-1)) border-box;
	animation: exoAng 8s linear infinite;
}
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__nom { text-transform: uppercase; letter-spacing: .05em; background: linear-gradient(180deg, #fff 35%, var(--leg-2)); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__num { color: var(--leg-2); }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__photo { box-shadow: 0 0 0 .45cqi var(--leg-2), 0 0 5cqi rgba(61, 107, 255, .55); }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__type { background: rgba(61, 107, 255, .16); box-shadow: inset 0 0 0 1px rgba(168, 220, 255, .18); }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__type span:last-child, .exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__infos dt { color: rgba(168, 220, 255, .75); }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__rarete { background: none; box-shadow: inset 0 0 0 .4cqi var(--leg-2); color: #fff; letter-spacing: .14em; }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__rarete i { width: 3cqi; height: 3cqi; border-radius: 0; background: var(--leg-2); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); box-shadow: none; }
@keyframes exoAng { to { --exo-ang: 360deg; } }

/* ---------- Carte manquante (silhouette) ---------- */
.exo-ac--manquante .exo-ac__recto { background: linear-gradient(155deg, #2a2d38, #1a1c24 70%); }
.exo-ac--manquante .exo-ac__photo { background: #0f1015; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); }
.exo-ac--manquante .exo-ac__photo img { filter: grayscale(1) brightness(.35) blur(5px); transform: scale(1.08); }
.exo-ac--manquante .exo-ac__photo::after { content: "?"; position: absolute; inset: 0; display: grid; place-items: center; font: 400 30cqi/1 var(--f-titre); color: rgba(255, 255, 255, .16); }
.exo-ac--manquante .exo-ac__type, .exo-ac--manquante .exo-ac__infos, .exo-ac--manquante .exo-ac__rarete { opacity: .45; }
.exo-ac--manquante .exo-ac__nom, .exo-ac--manquante .exo-ac__num { color: rgba(255, 255, 255, .55); }

/* ---------- Déblocage (nouvelle carte) ---------- */
@keyframes exoDevoile { 0% { transform: rotateY(180deg) scale(.96); } 60% { transform: rotateY(-8deg) scale(1.04); } 100% { transform: rotateY(0) scale(1); } }
@keyframes exoEclat { 0% { opacity: 0; transform: translateX(-120%) skewX(-18deg); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateX(170%) skewX(-18deg); } }
.exo-album__item.is-a-devoiler .exo-ac__in { animation: exoDevoile 1.1s .35s cubic-bezier(.3, .7, .2, 1) both; }
.exo-album__item.is-a-devoiler .exo-ac__recto::after { content: ""; position: absolute; inset: 0; width: 45%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .7), transparent); animation: exoEclat .9s 1s ease-out both; pointer-events: none; }

/* ==========================================================================
   Page « Mon album »
   ========================================================================== */
.exo-album { display: grid; gap: 22px; }
.exo-album__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 18px 32px; }
.exo-album__titre { flex: 1 1 260px; max-width: 460px; }
.exo-album__surtitre { margin: 0 0 6px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--jaune-clair); }
.exo-album__total { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }
.exo-album__total b { font: 400 44px/1 var(--f-titre); color: var(--texte); }
.exo-album__total span { color: var(--texte-2); font-size: 15px; }
.exo-album__barre { height: 6px; border-radius: 99px; background: var(--surface); overflow: hidden; }
.exo-album__barre span { display: block; height: 100%; border-radius: 99px; background: var(--jaune); }
.exo-album__chiffres { display: flex; gap: 28px; margin: 0; }
.exo-album__chiffres div { display: grid; gap: 2px; }
.exo-album__chiffres dt { font-size: 12px; color: var(--texte-2); }
.exo-album__chiffres dd { margin: 0; font: 700 24px/1.1 var(--f-texte); font-variant-numeric: tabular-nums; color: var(--texte); }

.exo-album__regles { border: 1px solid var(--bordure); border-radius: var(--r-md, 12px); background: var(--carte); }
.exo-album__regles summary { padding: 12px 16px; cursor: pointer; font-weight: 600; font-size: 14px; color: var(--texte); }
.exo-album__regles ul { margin: 0; padding: 0 20px 14px 34px; display: grid; gap: 6px; font-size: 13.5px; color: var(--texte-2); }
.exo-album__regles strong { color: var(--texte); }

.exo-album__outils { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-bottom: 4px; }
.exo-album__choix { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.exo-album__choix > span { margin-right: 4px; font-size: 12px; color: var(--texte-2); }
.exo-album__choix button { min-height: 34px; padding: 0 13px; border: 1px solid var(--bordure); border-radius: 99px; background: none; color: var(--texte-2); font: 600 12.5px/1 var(--f-texte); cursor: pointer; }
.exo-album__choix button:hover { border-color: var(--texte-2); color: var(--texte); }
.exo-album__choix button[aria-pressed="true"] { background: var(--texte); border-color: var(--texte); color: var(--fond); }

.exo-album__contenu { display: grid; gap: 30px; }
.exo-album__groupe-tete { display: grid; grid-template-columns: minmax(0, auto) minmax(80px, 220px) auto; align-items: center; gap: 16px; margin-bottom: 14px; }
.exo-album__groupe-tete h2 { display: flex; align-items: center; gap: 10px; min-width: 0; margin: 0; font: 400 20px/1.2 var(--f-titre); color: var(--texte); }
.exo-album__pastille { flex: none; width: 12px; height: 12px; border-radius: 3px; background: linear-gradient(135deg, var(--u1), var(--u2)); }
.exo-album__jauge { height: 5px; border-radius: 99px; background: var(--surface); overflow: hidden; }
.exo-album__jauge span { display: block; height: 100%; border-radius: 99px; background: var(--u1); }
.exo-album__score { font: 600 13px/1 var(--f-texte); font-variant-numeric: tabular-nums; color: var(--texte-2); white-space: nowrap; }
.exo-album__score.is-complet { color: #35e08a; }

.exo-album__pochettes { display: grid; grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: 24px 16px; padding: 18px; border-radius: 14px; background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .012) 0 2px, transparent 2px 4px), rgba(0, 0, 0, .28); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05); }
.exo-album__item { display: grid; align-content: start; justify-items: center; gap: 10px; min-width: 0; }
.exo-album__item[hidden] { display: none; }
.exo-album__fente { position: relative; width: 100%; max-width: 220px; padding: 7px; border-radius: 10px; background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
.exo-album__fente::after { content: ""; position: absolute; inset: 0; border-radius: 10px; pointer-events: none; background: linear-gradient(125deg, rgba(255, 255, 255, .08) 0 18%, transparent 30% 100%); }
.exo-album__ouvrir { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; color: inherit; text-decoration: none; transition: transform .2s; }
.exo-album__ouvrir:hover { transform: translateY(-3px); }
.exo-album__ouvrir:focus-visible { outline: 2px solid var(--jaune); outline-offset: 4px; border-radius: 8px; }
.exo-album__nouvelle { position: absolute; z-index: 2; top: -8px; left: 50%; transform: translateX(-50%); padding: 4px 10px; border-radius: 99px; background: var(--jaune); color: var(--sur-jaune); font: 800 10.5px/1 var(--f-texte); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.exo-album__legende { display: grid; justify-items: center; gap: 3px; text-align: center; font-size: 12.5px; color: var(--texte-2); }
.exo-album__legende strong { font-size: 13.5px; color: var(--texte); }
.exo-album__legende a { color: var(--jaune-clair); font-weight: 600; text-decoration: none; }
.exo-album__legende a:hover { text-decoration: underline; }
.exo-album__vide { padding: 30px; text-align: center; color: var(--texte-2); }

/* Fenêtre « carte en grand » */
.exo-album__fenetre { width: min(100% - 32px, 380px); max-height: none; padding: 0; border: 0; background: none; color: var(--texte); overflow: visible; }
.exo-album__fenetre::backdrop { background: rgba(6, 7, 10, .82); backdrop-filter: blur(6px); }
.exo-album__fenetre-carte { width: min(100%, 340px); margin: 0 auto 16px; }
.exo-album__fenetre-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.exo-album__fenetre-actions .exo-btn { width: auto; min-height: 42px; padding: 0 18px; font-size: 12px; }

/* ==========================================================================
   Section « Mon album » de l'accueil du compte
   ========================================================================== */
.exo-album-profil { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); align-items: center; gap: 28px; margin: 0 0 28px; padding: 24px 28px; border: 1px solid var(--bordure); border-radius: var(--r-md, 12px); background: var(--carte); }
.exo-album-profil__eventail { position: relative; display: block; height: 210px; }
.exo-album-profil__carte { --c: calc(var(--i) - (var(--n) - 1) / 2); position: absolute; bottom: 0; left: calc(50% - 62px + var(--c) * 40px); width: 124px; transform: rotate(calc(var(--c) * 7deg)); transform-origin: 50% 120%; transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.exo-album-profil__eventail:hover .exo-album-profil__carte { transform: rotate(calc(var(--c) * 11deg)) translateY(-6px); }
.exo-album-profil__texte h2 { margin: 4px 0 8px; font: 400 24px/1.2 var(--f-titre); color: var(--texte); }
.exo-album-profil__texte p { margin: 0 0 14px; color: var(--texte-2); font-size: 14px; max-width: 52ch; }
.exo-album-profil__surtitre { margin: 0 !important; font-size: 11px !important; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--jaune-clair) !important; }
.exo-album-profil__nouvelles { display: inline-block; margin: 0 0 10px !important; padding: 4px 11px; border-radius: 99px; background: var(--jaune); color: var(--sur-jaune) !important; font-weight: 700; font-size: 12.5px !important; }
.exo-album-profil .exo-btn { width: auto; }

/* ==========================================================================
   Fiche produit : la carte que la figurine débloque
   ========================================================================== */
.exo-album-encart { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 14px; margin: 14px 0 0; padding: 12px 14px; border: 1px dashed var(--bordure-carte); border-radius: 10px; background: var(--surface); color: var(--texte-2); font-size: 13px; line-height: 1.5; text-decoration: none; }
.exo-album-encart:hover { border-style: solid; color: var(--texte-2); }
.exo-album-encart strong { color: var(--texte); }
.exo-album-encart__carte { display: block; width: 58px; transform: rotate(-4deg); }

@media (max-width: 700px) {
	.exo-album-profil { grid-template-columns: 1fr; padding: 20px 16px; text-align: center; }
	.exo-album-profil__texte p { margin-inline: auto; }
	.exo-album-profil__eventail { height: 180px; }
	.exo-album-profil__carte { width: 104px; left: calc(50% - 52px + var(--c) * 34px); }
	.exo-album__groupe-tete { grid-template-columns: minmax(0, 1fr) auto; }
	.exo-album__jauge { grid-column: 1 / -1; grid-row: 2; }
	.exo-album__pochettes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; padding: 10px; }
	.exo-album__chiffres { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.exo-ac__in, .exo-album-profil__carte, .exo-album__ouvrir { transition: none; }
	.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__recto, .exo-album__item.is-a-devoiler .exo-ac__in, .exo-album__item.is-a-devoiler .exo-ac__recto::after { animation: none; }
}

/* ---------- 1re édition entièrement argentée (cadre, textes foncés, reflet au survol) ---------- */
.exo-ac--edition .exo-ac__recto {
	background:
		linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .55) 45%, transparent 60%) var(--mx, 50%) 0 / 250% 100% no-repeat,
		linear-gradient(155deg, #f7f8fc 0%, #c9cfdd 28%, #eef1f7 46%, #a7b0c5 70%, #dfe3ec 100%);
	box-shadow: inset 0 0 0 .6cqi rgba(255, 255, 255, .9), inset 0 0 0 1.2cqi rgba(120, 130, 155, .35), 0 14px 30px -16px rgba(0, 0, 0, .85);
}
.exo-ac--edition .exo-ac__nom { color: #1b2033; text-shadow: 0 1px 0 rgba(255, 255, 255, .6); }
.exo-ac--edition .exo-ac__num, .exo-ac--edition .exo-ac__bas { color: #3a4258; }
.exo-ac--edition .exo-ac__photo { box-shadow: 0 0 0 .45cqi #ffffff, 0 0 0 .9cqi rgba(120, 130, 155, .45); }
.exo-ac--edition .exo-ac__type { background: rgba(27, 32, 51, .82); }
.exo-ac--edition .exo-ac__infos { color: #1b2033; }
.exo-ac--edition .exo-ac__infos dt { color: #5b6480; }
.exo-ac--edition .exo-ac__rarete { background: #1b2033; }

/* Valeur de la collection (section « Mon album » du profil) */
.exo-album-profil__valeur { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 16px; padding: 12px 0; border-block: 1px solid var(--bordure); }
.exo-album-profil__valeur div { display: grid; gap: 2px; }
.exo-album-profil__valeur dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--texte-2); }
.exo-album-profil__valeur dd { margin: 0; font-size: 20px; font-weight: 700; color: var(--texte); }
.exo-album-profil__valeur div:first-child dd { color: var(--jaune-clair); }
@media (max-width: 700px) { .exo-album-profil__valeur { justify-content: center; } }

/* ==========================================================================
   Couleurs v2 : cartes de base dans la couleur d'accent du site (plus une couleur par univers),
   légendaires = bleu nuit + accent ; sceau 1re édition en plaque argentée taillée.
   ========================================================================== */
.exo-ac__recto {
	background:
		radial-gradient(120% 55% at 50% -10%, color-mix(in srgb, var(--jaune) 55%, transparent), transparent 65%),
		linear-gradient(155deg, color-mix(in srgb, var(--jaune) 78%, #0b1030) 0%, color-mix(in srgb, var(--jaune) 42%, #0b1030) 72%, color-mix(in srgb, var(--jaune) 30%, #0b1030) 100%);
}
.exo-ac__nom, .exo-ac__num { text-shadow: 0 1px 2px rgba(0, 0, 0, .45); }
.exo-ac__type { background: rgba(6, 8, 22, .6); }

.exo-ac--legendaire:not(.exo-ac--v4) { --leg-fond: #070b24; --leg-1: var(--jaune); --leg-2: color-mix(in srgb, var(--jaune) 45%, #ffffff); --leg-bleu: #2438c7; }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__recto {
	background:
		radial-gradient(120% 60% at 50% -12%, color-mix(in srgb, var(--jaune) 42%, transparent), transparent 62%) padding-box,
		radial-gradient(90% 45% at 50% 112%, color-mix(in srgb, var(--leg-bleu) 55%, transparent), transparent 70%) padding-box,
		repeating-linear-gradient(118deg, color-mix(in srgb, var(--leg-2) 7%, transparent) 0 1px, transparent 1px 8px) padding-box,
		linear-gradient(var(--leg-fond), var(--leg-fond)) padding-box,
		conic-gradient(from var(--exo-ang), var(--leg-1), #fff 7%, var(--leg-2) 12%, var(--leg-bleu) 32%, var(--leg-1) 50%, #fff 57%, var(--leg-2) 62%, var(--leg-bleu) 82%, var(--leg-1)) border-box;
}
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__photo { box-shadow: 0 0 0 .45cqi var(--leg-2), 0 0 5cqi color-mix(in srgb, var(--jaune) 50%, transparent); }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__type { background: color-mix(in srgb, var(--leg-bleu) 22%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--leg-2) 22%, transparent); }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__type span:last-child, .exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__infos dt { color: color-mix(in srgb, var(--leg-2) 80%, transparent); }

.exo-ac__sceau { top: 1.4cqi; right: 1.8cqi; width: 23cqi; transform: none; filter: drop-shadow(0 1.2cqi 1.4cqi rgba(0, 0, 0, .5)); }
.exo-ac__sceau svg { font-family: "Chakra Petch", var(--f-texte); font-weight: 700; }
.exo-album__jauge span { background: var(--jaune); }
.exo-ac--publique .exo-ac__num { visibility: hidden; }
/* Éventail du profil : colonne assez large pour les 5 cartes (elles débordaient sur la valeur de la collection). */
@media (min-width: 701px) {
	.exo-album-profil { grid-template-columns: 330px minmax(0, 1fr); gap: 44px; overflow: hidden; }
	.exo-album-profil__carte { width: 116px; left: calc(50% - 58px + var(--c) * 32px); }
}

/* ---------- Légendaire : effets de prestige ----------
   Aura qui respire autour de la carte, étincelles qui scintillent sur le cadre, éclat de lumière qui balaie la photo,
   nom au reflet métallique qui glisse. Tout est coupé si « réduire les animations ». */
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__recto { animation: exoAng 8s linear infinite, exoAura 3.2s ease-in-out infinite alternate; }
@keyframes exoAura {
	from { box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .85), 0 0 0 0 transparent; }
	to { box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .85), 0 0 5cqi .4cqi color-mix(in srgb, var(--jaune) 45%, transparent); }
}
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__recto::before {
	content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
	background:
		radial-gradient(circle at 7% 12%, #fff 0 .35cqi, transparent .9cqi),
		radial-gradient(circle at 93% 9%, var(--leg-2) 0 .45cqi, transparent 1.1cqi),
		radial-gradient(circle at 4% 52%, var(--leg-2) 0 .3cqi, transparent .8cqi),
		radial-gradient(circle at 96% 44%, #fff 0 .35cqi, transparent .9cqi),
		radial-gradient(circle at 10% 88%, #fff 0 .3cqi, transparent .8cqi),
		radial-gradient(circle at 91% 82%, var(--leg-2) 0 .4cqi, transparent 1cqi),
		radial-gradient(circle at 50% 3%, #fff 0 .3cqi, transparent .8cqi);
	animation: exoScintille 2.6s ease-in-out infinite alternate;
}
@keyframes exoScintille { from { opacity: .25; } 50% { opacity: 1; } to { opacity: .45; } }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__photo::after {
	content: ""; position: absolute; inset: -10% -60%; z-index: 1; pointer-events: none;
	background: linear-gradient(110deg, transparent 42%, rgba(255, 255, 255, .42) 49%, color-mix(in srgb, var(--jaune) 35%, transparent) 52%, transparent 58%);
	transform: translateX(-60%); animation: exoBalayage 5.5s ease-in-out infinite;
}
@keyframes exoBalayage { 0%, 55% { transform: translateX(-60%); } 80%, 100% { transform: translateX(60%); } }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__sceau { z-index: 2; }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__nom { background: linear-gradient(100deg, #fff 30%, var(--leg-2) 45%, #fff 52%, #fff 70%) 0 0 / 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: exoReflet 4.5s linear infinite; }
@keyframes exoReflet { to { background-position: -250% 0; } }
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__rarete { box-shadow: inset 0 0 0 .4cqi var(--leg-2), 0 0 2.4cqi color-mix(in srgb, var(--jaune) 55%, transparent); }
@media (prefers-reduced-motion: reduce) {
	.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__recto, .exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__recto::before, .exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__photo::after, .exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__nom { animation: none; }
	.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__photo::after { display: none; }
}
/* Dos : le vrai logo du site (Chakra Petch + coupe de sabre). */
.exo-ac__logo .exo-logo__svg { display: block; width: 66cqi; height: auto; margin: 0 auto; overflow: visible; }
.exo-ac__logo .exo-logo__svg text { font-family: "Chakra Petch", "Montserrat", sans-serif; }
.exo-ac__logo .exo-logo__exo { fill: var(--logo-exo, var(--jaune)); }
.exo-ac__logo .exo-logo__mori { fill: var(--logo-mori, #f5f6ff); }

/* ==========================================================================
   Couleurs v3 (03/10/2026, choix de Kevin) : Standard = bleu nuit (sobre) ; 1re édition = argent (inchangée) ;
   Légendaire = image sur toute la carte, teinte de la couleur d'accent, contour bleu électrique fixe.
   ========================================================================== */
.exo-ac__recto {
	background:
		radial-gradient(120% 55% at 50% -10%, rgba(91, 114, 214, .42), transparent 65%),
		linear-gradient(155deg, #1f2b5e 0%, #131b44 58%, #0b1030 100%);
}
.exo-ac__type { background: rgba(4, 7, 24, .6); }

/* Légendaire « pleine carte » (pas pour une carte encore manquante de l'album). */
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) { --leg-contour: #a8dcff; --leg-lueur: #3d6bff; }
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__recto {
	background:
		linear-gradient(color-mix(in srgb, var(--jaune) 28%, #0a0510), color-mix(in srgb, var(--jaune) 28%, #0a0510)) padding-box,
		conic-gradient(from var(--exo-ang), var(--leg-lueur), #fff 7%, var(--leg-contour) 12%, #1a2470 32%, var(--leg-lueur) 50%, #fff 57%, var(--leg-contour) 62%, #1a2470 82%, var(--leg-lueur)) border-box;
}
@keyframes exoAuraBleue {
	from { box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .85), 0 0 2cqi 0 rgba(61, 107, 255, .35); }
	to { box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .85), 0 0 6cqi .5cqi rgba(61, 107, 255, .7); }
}
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__recto { animation: exoAng 8s linear infinite, exoAuraBleue 3.2s ease-in-out infinite alternate; }
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__photo {
	position: absolute; inset: 0; z-index: 0; border-radius: 0; box-shadow: none; background: #0a0510;
}
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__photo img { object-position: 50% 30%; }
/* Voile pour lire le nom en haut et les infos en bas, teinté de la couleur d'accent. */
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__photo::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg,
		color-mix(in srgb, var(--jaune) 50%, rgba(10, 4, 12, .82)) 0, transparent 20%, transparent 50%,
		color-mix(in srgb, var(--jaune) 32%, rgba(10, 4, 12, .9)) 78%, rgba(10, 4, 12, .96) 100%);
}
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__recto > :not(.exo-ac__photo) { position: relative; z-index: 2; }
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__haut { margin-bottom: auto; }
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__type { background: rgba(10, 4, 16, .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--leg-2) 30%, transparent); }
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__nom, .exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__num { filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .6)); }
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__sceau { z-index: 3; }
@media (prefers-reduced-motion: reduce) { .exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__recto { animation: none; } }
/* Légendaire pleine carte : le sceau « 1re édition » passe sous le bandeau du nom (il couvrait le numéro). */
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__sceau { top: 14cqi; right: 3cqi; }
/* Légendaire : image remontée si la figurine est trop basse (réglage « Remonter l'image » de l'éditeur, --decal en %). */
.exo-ac--legendaire:not(.exo-ac--manquante):not(.exo-ac--v4) .exo-ac__photo img { transform: translateY(calc(var(--decal, 0) * -1%)); }

/* Petite carte de la fiche produit sans image de carte : visuel « mystère » (fond noir + point d'interrogation). */
.exo-ac__mystere {
	position: absolute; inset: 0; display: grid; place-items: center;
	background: radial-gradient(circle at 50% 42%, #1a1a1f 0%, #050506 70%);
	color: #f5f6ff; font-family: 'Chakra Petch', var(--f-titre, sans-serif); font-weight: 700;
	font-size: 52cqi; line-height: 1; text-shadow: 0 0 18px rgba(255, 255, 255, .25);
}
.exo-ac--legendaire:not(.exo-ac--v4) .exo-ac__mystere { color: #a8dcff; text-shadow: 0 0 22px rgba(61, 107, 255, .6); }

/* ==========================================================================
   Cartes v4 « style A » (05/10/2026) : générées automatiquement.
   Couleur et logo de l'univers en filigrane, figurine détourée de la photo officielle.
   Légendaire « Aura » : couleur d'accent au centre fondue dans le bleu nuit, figurine qui sort du cadre.
   ========================================================================== */
.exo-ac.exo-ac--v4 { --acc: var(--jaune, #ff5a36); --acc2: color-mix(in srgb, var(--acc) 70%, #fff); --acc3: color-mix(in srgb, var(--acc) 35%, #fff); --nuit-1: #1a2a8c; --nuit-2: #0d165a; --elec-1: #a8dcff; --elec-2: #3d6bff; }
.exo-ac.exo-ac--v4 .exo-ac__recto { display: block; padding: 0; gap: 0; border: 0; background: #06070c; animation: none; color: #fff; box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .06); }
.exo-ac.exo-ac--v4 .exo-ac__recto::before { content: none; }
.exo-ac--v4 .exo-ac__recto > * { position: absolute; }
.exo-ac4__fond, .exo-ac4__trame, .exo-ac4__filigrane { inset: 0; }
.exo-ac4__fond { background: radial-gradient(120% 70% at 50% 30%, color-mix(in srgb, var(--u1) 75%, #000) 0%, var(--u2) 55%, #06070c 100%); }
.exo-ac4__fond::before { content: ""; position: absolute; left: 50%; top: 44%; width: 104cqi; height: 104cqi; transform: translate(-50%, -50%); border-radius: 50%;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--u1) 60%, transparent), color-mix(in srgb, var(--u1) 18%, transparent) 60%, transparent); }
.exo-ac4__fond::after { content: ""; position: absolute; inset: 0; opacity: .8; background-image:
	radial-gradient(1.4px 1.4px at 14% 22%, #fff, transparent), radial-gradient(1px 1px at 82% 18%, #fff, transparent),
	radial-gradient(1.6px 1.6px at 72% 38%, rgba(255, 255, 255, .9), transparent), radial-gradient(1px 1px at 25% 52%, #fff, transparent),
	radial-gradient(1.2px 1.2px at 88% 58%, #fff, transparent), radial-gradient(1px 1px at 10% 66%, rgba(255, 255, 255, .8), transparent),
	radial-gradient(1.4px 1.4px at 60% 12%, #fff, transparent), radial-gradient(1px 1px at 40% 28%, rgba(255, 255, 255, .7), transparent); }
.exo-ac4__trame { background-image: radial-gradient(rgba(255, 255, 255, .22) 1px, transparent 1.4px); background-size: 7px 7px; opacity: .55;
	-webkit-mask-image: linear-gradient(160deg, #000 0%, transparent 55%); mask-image: linear-gradient(160deg, #000 0%, transparent 55%); }
.exo-ac4__filigrane { display: grid; place-items: center; pointer-events: none; overflow: hidden; }
.exo-ac4__filigrane img { width: 150%; max-width: none !important; height: auto !important; transform: rotate(-14deg); opacity: .16; filter: grayscale(1) brightness(2.4); mix-blend-mode: screen; }
.exo-ac4__licence { top: 5.5cqi; left: 6cqi; width: 46cqi; max-height: 16cqi; object-fit: contain; object-position: left center; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .6)); z-index: 3; }
.exo-ac4__licence--texte { width: auto; max-width: 60cqi; font: 700 5cqi/1.1 "Chakra Petch", var(--f-titre); letter-spacing: .04em; text-transform: uppercase; color: #fff; }
.exo-ac4__num { top: 6cqi; right: 6cqi; z-index: 3; font: 600 5.2cqi/1 "Chakra Petch", var(--f-titre); letter-spacing: .04em; color: rgba(255, 255, 255, .82); }
.exo-ac4__fig { left: 50%; bottom: 25cqi; height: 77% !important; max-height: 77% !important; width: auto !important; max-width: 92% !important; object-fit: contain; transform: translateX(-50%); z-index: 2; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .55)); }
.exo-ac4__sol { left: 18%; right: 18%; bottom: 25cqi; height: 6cqi; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 0, 0, .6), transparent); z-index: 1; }
.exo-ac4__photo { left: 9cqi; right: 9cqi; top: 22cqi; bottom: 33cqi; border-radius: 3cqi; overflow: hidden; background: #fff; z-index: 2; box-shadow: 0 0 0 .6cqi rgba(255, 255, 255, .55), 0 10px 18px -8px rgba(0, 0, 0, .7); }
.exo-ac4__photo img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 0; }
.exo-ac4__scene { inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 30%; z-index: 0; transform: translateY(calc(var(--decal, 0) * -1%)); }
.exo-ac--m-perso .exo-ac4__fond, .exo-ac--m-perso .exo-ac4__trame { display: none; }
.exo-ac4__bas { left: 0; right: 0; bottom: 0; padding: 4cqi 6cqi 5cqi; z-index: 4; display: flex; flex-direction: column; gap: 1cqi; background: linear-gradient(to top, rgba(6, 7, 12, .96) 55%, rgba(6, 7, 12, 0)); }
.exo-ac4__nom { font: 700 7.4cqi/1.05 "Chakra Petch", var(--f-titre); color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exo-ac4__sous { font: 500 4.2cqi/1.25 var(--f-texte); color: rgba(255, 255, 255, .72); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exo-ac4__infos { display: flex; justify-content: space-between; gap: 2cqi; margin-top: 1.6cqi; padding-top: 2cqi; border-top: 1px solid rgba(255, 255, 255, .14); font: 500 3.5cqi/1.2 var(--f-texte); color: rgba(255, 255, 255, .6); font-variant-numeric: tabular-nums; }
.exo-ac4__infos b { display: block; color: #fff; font-weight: 600; font-size: 3.9cqi; white-space: nowrap; }
.exo-ac4__cadre { inset: 0; border-radius: inherit; z-index: 5; pointer-events: none; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--u1) 70%, transparent), inset 0 0 0 5px rgba(0, 0, 0, .35); }
.exo-ac--v4 .exo-ac4__sceau { top: 19cqi; right: 4cqi; width: 18cqi; z-index: 6; }
.exo-ac--v4.exo-ac--publique .exo-ac4__licence { width: 52cqi; }

/* 1re édition : cadre argenté */
.exo-ac.exo-ac--v4.exo-ac--edition .exo-ac__recto { box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .85); }
.exo-ac--v4.exo-ac--edition .exo-ac4__cadre { box-shadow: none; border: 2.4cqi solid transparent;
	background: linear-gradient(135deg, #dfe4ec, #8e97a6 30%, #fff 50%, #8e97a6 70%, #dfe4ec) border-box;
	-webkit-mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0); }

/* Carte manquante : silhouette */
.exo-ac--v4.exo-ac--manquante .exo-ac4__fond, .exo-ac--v4.exo-ac--manquante .exo-ac4__filigrane, .exo-ac--v4.exo-ac--manquante .exo-ac4__licence { filter: grayscale(1) brightness(.7); }
.exo-ac--v4.exo-ac--manquante .exo-ac4__fig { filter: brightness(0) opacity(.55); }
.exo-ac--v4.exo-ac--manquante .exo-ac4__photo img, .exo-ac--v4.exo-ac--manquante .exo-ac4__scene { filter: grayscale(1) brightness(.35) blur(4px); }
.exo-ac--v4.exo-ac--manquante .exo-ac4__cadre { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .12); }
.exo-ac--v4.exo-ac--manquante .exo-ac4__nom, .exo-ac--v4.exo-ac--manquante .exo-ac4__sous { opacity: .6; }

/* Légendaire « Aura » */
.exo-ac.exo-ac--v4.exo-ac--legendaire .exo-ac__recto { animation: none; box-shadow: 0 0 30px -6px color-mix(in srgb, var(--acc) 70%, transparent), 0 0 46px -14px rgba(61, 107, 255, .7), 0 18px 40px -18px rgba(0, 0, 0, .8); }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__fond { background:
	repeating-conic-gradient(from 0deg at 50% 44%, color-mix(in srgb, var(--acc) 38%, transparent) 0deg 1.8deg, transparent 1.8deg 9deg, rgba(120, 175, 255, .22) 9deg 10.4deg, transparent 10.4deg 18deg),
	radial-gradient(68% 52% at 50% 44%, var(--acc3) 0%, var(--acc) 17%, color-mix(in srgb, var(--acc) 55%, var(--nuit-1)) 31%, var(--nuit-1) 46%, var(--nuit-2) 64%, #050822 84%, #02030b 100%); }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__fond::before { width: 120cqi; height: 120cqi; background: radial-gradient(closest-side, rgba(255, 255, 255, .85), color-mix(in srgb, var(--acc2) 60%, transparent) 35%, rgba(61, 107, 255, .18) 70%, transparent); }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__trame { background-image: radial-gradient(rgba(168, 220, 255, .6) 1px, transparent 1.4px); background-size: 9px 9px; opacity: .4;
	-webkit-mask-image: radial-gradient(circle at 50% 44%, transparent 32%, #000 72%); mask-image: radial-gradient(circle at 50% 44%, transparent 32%, #000 72%); }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__sol { bottom: 32cqi; left: 8%; right: 8%; height: 9cqi; background: radial-gradient(closest-side, var(--acc3), color-mix(in srgb, var(--acc) 50%, transparent) 55%, transparent); }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__bas { z-index: 8; padding-top: 6cqi; background: linear-gradient(to top, #03051a 0%, #071040 58%, rgba(7, 16, 64, 0)); }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__nom { text-transform: uppercase; letter-spacing: .03em; font-size: 7.8cqi; background: linear-gradient(180deg, #fff 30%, var(--acc3)); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 6px color-mix(in srgb, var(--acc) 80%, transparent)); }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__num { color: var(--acc3); z-index: 9; }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__licence { z-index: 9; }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__cadre, .exo-ac--v4.exo-ac--amb-3 .exo-ac4__cadre { box-shadow: none; border: 2.2cqi solid transparent;
	background: conic-gradient(from var(--exo-ang), #fff, var(--acc3) 10%, var(--acc) 24%, var(--nuit-1) 40%, var(--elec-2) 52%, var(--elec-1) 62%, var(--acc) 80%, #fff) border-box;
	-webkit-mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0);
	animation: exoAng 6s linear infinite; }
.exo-ac4__orn { inset: -.4cqi; z-index: 10; pointer-events: none; --o: var(--acc3);
	background:
		linear-gradient(var(--o), var(--o)) top left / 12cqi 1.2cqi no-repeat, linear-gradient(var(--o), var(--o)) top left / 1.2cqi 12cqi no-repeat,
		linear-gradient(var(--o), var(--o)) top right / 12cqi 1.2cqi no-repeat, linear-gradient(var(--o), var(--o)) top right / 1.2cqi 12cqi no-repeat,
		linear-gradient(var(--o), var(--o)) bottom left / 12cqi 1.2cqi no-repeat, linear-gradient(var(--o), var(--o)) bottom left / 1.2cqi 12cqi no-repeat,
		linear-gradient(var(--o), var(--o)) bottom right / 12cqi 1.2cqi no-repeat, linear-gradient(var(--o), var(--o)) bottom right / 1.2cqi 12cqi no-repeat;
	filter: drop-shadow(0 0 4px var(--acc)); }
.exo-ac4__ruban { left: 50%; bottom: 31cqi; transform: translateX(-50%); z-index: 9; display: flex; align-items: center; gap: 2cqi; white-space: nowrap;
	font: 700 4.3cqi/1 "Chakra Petch", var(--f-titre); letter-spacing: .22em; text-transform: uppercase; color: #1b0603;
	background: linear-gradient(90deg, var(--acc2), #fff 50%, var(--acc2)); padding: 1.3cqi 4.5cqi;
	clip-path: polygon(3cqi 0, calc(100% - 3cqi) 0, 100% 50%, calc(100% - 3cqi) 100%, 3cqi 100%, 0 50%); box-shadow: 0 0 14px var(--acc); }
.exo-ac4__ruban::before, .exo-ac4__ruban::after { content: "✦"; font-size: 3.6cqi; }
.exo-ac4__eclats { inset: 0; z-index: 7; pointer-events: none; background-image:
	radial-gradient(2px 2px at 12% 18%, #fff, transparent), radial-gradient(2.4px 2.4px at 86% 26%, #fff, transparent),
	radial-gradient(1.6px 1.6px at 78% 62%, #fff, transparent), radial-gradient(2px 2px at 18% 58%, #fff, transparent), radial-gradient(1.4px 1.4px at 50% 8%, #fff, transparent);
	animation: exoScintille 2.6s ease-in-out infinite alternate; }
/* Figurine qui sort du cadre (élément hors de la face ; caché quand la carte est retournée). */
.exo-ac4__pop { position: absolute; left: 50%; bottom: 35cqi; height: 84%; width: auto; max-width: 104% !important; object-fit: contain; z-index: 6; pointer-events: none;
	transform: translateX(-50%) translateZ(1px); backface-visibility: hidden; -webkit-backface-visibility: hidden;
	filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 10px color-mix(in srgb, var(--acc) 85%, transparent)) drop-shadow(0 10px 14px rgba(0, 0, 0, .7)); }
.exo-ac.is-retournee .exo-ac4__pop { opacity: 0; }
.exo-album__item .exo-ac--legendaire, .exo-album-encart__carte .exo-ac--legendaire { margin-top: 0; }

/* Carte secrète : image entière en pleine carte, double cadre argent et blanc */
.exo-ac--v4.exo-ac--secrete .exo-ac4__cadre { box-shadow: inset 0 0 0 2.6cqi rgba(0, 0, 0, .25); border: 1.2cqi solid transparent;
	background: linear-gradient(160deg, #fff, #c9ced8 40%, #fff 55%, #9aa3b2) border-box;
	-webkit-mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0); }
.exo-ac4__ruban--secrete { bottom: auto; top: 18cqi; background: #fff; color: #0b0c12; box-shadow: 0 0 10px rgba(255, 255, 255, .6); }
.exo-ac4__verrou { inset: 0; display: grid; place-items: center; align-content: center; gap: 2.4cqi; padding: 10cqi; text-align: center; z-index: 3;
	background: repeating-linear-gradient(135deg, #0c0d13 0 6px, #11131b 6px 12px); color: rgba(255, 255, 255, .7); font: 500 4.4cqi/1.4 var(--f-texte); }
.exo-ac4__verrou strong { font: 700 26cqi/1 "Chakra Petch", var(--f-titre); color: rgba(255, 255, 255, .18); }
.exo-ac4__verrou b { font: 700 6cqi/1 "Chakra Petch", var(--f-titre); color: #fff; }
.exo-ac--verrou .exo-ac4__cadre { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .18); }

/* Carte Ambassadeur : logo EXOMORI sur le fond Aura, 1 à 3 étoiles */
.exo-ac--v4.exo-ac--ambassadeur .exo-ac4__fond { background:
	repeating-conic-gradient(from 0deg at 50% 40%, color-mix(in srgb, var(--acc) 30%, transparent) 0deg 1.8deg, transparent 1.8deg 9deg, rgba(120, 175, 255, .18) 9deg 10.4deg, transparent 10.4deg 18deg),
	radial-gradient(70% 50% at 50% 40%, color-mix(in srgb, var(--acc) 85%, #fff) 0%, var(--acc) 14%, color-mix(in srgb, var(--acc) 50%, var(--nuit-1)) 30%, var(--nuit-1) 46%, var(--nuit-2) 66%, #03040d 100%); }
.exo-ac--v4.exo-ac--ambassadeur .exo-ac4__fond::before { top: 40%; background: radial-gradient(closest-side, rgba(255, 255, 255, .7), color-mix(in srgb, var(--acc2) 45%, transparent) 40%, transparent); }
.exo-ac--ambassadeur .exo-ac4__num { left: 6cqi; right: auto; font-size: 4.4cqi; letter-spacing: .1em; }
.exo-ac4__amb-logo { left: 8cqi; right: 8cqi; top: 28cqi; z-index: 3; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .55)); }
.exo-ac4__amb-logo svg { display: block; width: 100%; height: auto; overflow: visible; }
.exo-ac4__amb-logo .exo-logo__exo, .exo-ac4__amb-logo .exo-logo__mori { fill: #fff; }
.exo-ac4__amb-logo text { font-family: "Chakra Petch", "Montserrat", sans-serif; }
.exo-ac4__amb-titre { left: 0; right: 0; top: 53cqi; z-index: 3; text-align: center; font: 700 8.4cqi/1 "Chakra Petch", var(--f-titre); letter-spacing: .28em; color: #fff; text-shadow: 0 0 10px var(--acc); }
.exo-ac4__amb-etoiles { left: 0; right: 0; top: 66cqi; z-index: 3; text-align: center; font-size: 8cqi; letter-spacing: .3em; color: rgba(255, 255, 255, .25); }
.exo-ac4__amb-etoiles b { color: #fff; font-weight: 400; text-shadow: 0 0 8px var(--acc2); }
.exo-ac--ambassadeur .exo-ac4__cadre { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--acc2) 80%, transparent), inset 0 0 0 5px rgba(0, 0, 0, .35); }
.exo-album__groupe--speciales { margin-bottom: 8px; }

@media (prefers-reduced-motion: reduce) {
	.exo-ac--v4.exo-ac--legendaire .exo-ac4__cadre, .exo-ac--v4.exo-ac--amb-3 .exo-ac4__cadre, .exo-ac4__eclats { animation: none; }
}
/* Légendaire : le bandeau « Légendaire » juste sous les pieds de la figurine, au-dessus du nom. */
.exo-ac--v4.exo-ac--legendaire .exo-ac4__ruban { bottom: 30cqi; }

/* Album en version bêta : encart bien visible en haut de l'album + pastille dans le menu du compte */
.exo-album-beta { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 22px; padding: 16px 18px; border: 2px solid var(--jaune); border-radius: 14px; background: rgba(255, 255, 255, .04); }
.exo-album-beta p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--texte-2, #a9aecb); }
.exo-album-beta strong { color: var(--texte, #f5f6ff); }
.exo-album-beta a { color: var(--jaune); font-weight: 700; }
.exo-album-beta__pastille { flex: none; padding: 6px 10px 5px; border-radius: 8px; background: var(--jaune); color: var(--sur-jaune, #0b0c0f); font-family: var(--f-titre), sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transform: rotate(-4deg); }

/* Cartes v4 (12/10/2026) : la figurine détourée tient dans la zone libre (sous le logo de la licence, au-dessus du bas de carte),
   centrée et posée en bas : plus de tête cachée derrière un grand logo. Légendaire : figurine et bandeau remontés, le bandeau ne chevauche plus le nom. */
.exo-ac--v4 .exo-ac4__fig { top: auto; left: 4%; bottom: 25cqi; width: 92% !important; max-width: none !important; height: calc(100% - 47cqi) !important; max-height: none !important; transform: none; object-fit: contain; object-position: 50% 100%; }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__fig { bottom: 39cqi; height: calc(100% - 61cqi) !important; }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__sol { bottom: 36.5cqi; }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__ruban { bottom: 34cqi; }

/* Album (17/10/2026) : le navigateur ne dessine (ni n'anime) que les cartes proches de l'écran.
   Avec 1 500+ cartes, tout dessiner d'un coup faisait ramer la page. */
.exo-album__item { content-visibility: auto; contain-intrinsic-size: auto 330px; }

/* Recherche dans l'album (17/10/2026). */
.exo-album__cherche { flex: 1 1 100%; display: block; }
.exo-album__cherche input { width: 100%; min-height: 42px; padding: 0 16px 0 40px; border: 1px solid var(--bordure); border-radius: 99px; background: var(--carte) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a9aecb' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 15px 50%; color: var(--texte); font: 500 14px/1 var(--f-texte); }
.exo-album__cherche input:focus { outline: none; border-color: var(--jaune); }

/* Logo en filigrane sur les couleurs d'univers claires (18/10/2026) : foncé au lieu de blanc. */
.exo-ac4--clair .exo-ac4__filigrane img { filter: grayscale(1) brightness(0); opacity: .13; mix-blend-mode: multiply; }

/* Safari iPhone (18/10/2026) : hauteur de secours de la figurine si les unités cqi sont mal calculées
   (le navigateur garde la 2e déclaration s'il la comprend). */
.exo-ac--v4 .exo-ac4__fig { height: 66% !important; height: calc(100% - 47cqi) !important; bottom: 18%; bottom: 25cqi; }
.exo-ac--v4.exo-ac--legendaire .exo-ac4__fig { height: 56% !important; height: calc(100% - 61cqi) !important; bottom: 28%; bottom: 39cqi; }
.exo-ac__face .exo-ac4__fig { -webkit-transform: translateZ(0); transform: translateZ(0); }

/* Mon album : emplacement d'une carte pas encore fabriquée (18/10/2026) */
.exo-album__attente { display: block; width: 100%; aspect-ratio: 63 / 88; border-radius: 4.5% / 3.2%; background: linear-gradient(155deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); }

/* Safari / iPhone (18/10/2026) : la face cachée transparaissait (logo EXOMORI à l'envers sur la figurine).
   Le dos est vraiment masqué tant que la carte n'est pas retournée ; l'échange se fait à mi-rotation. */
.exo-ac__dos { visibility: hidden; transition: visibility 0s .25s; }
.exo-ac.is-retournee .exo-ac__dos { visibility: visible; }
.exo-ac__recto { transition: visibility 0s .25s; }
.exo-ac.is-retournee .exo-ac__recto { visibility: hidden; }
