/*
 * Moteur TCG — le rendu des cartes, des boosters et des animations.
 *
 * Indépendant de tout site : un site l'habille seulement en changeant les
 * variables --tcg-… (polices, tailles). Les cartes ont la même apparence
 * partout : c'est la rareté qui décide de leur cadre.
 */

@font-face { font-family: "TCG Anton";   src: url("tcg-anton.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TCG Gothique"; src: url("tcg-pirata-one.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TCG Bebas";   src: url("tcg-bebas-neue.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TCG Machine"; src: url("tcg-special-elite.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TCG Barlow";  src: url("tcg-barlow-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "TCG Barlow";  src: url("tcg-barlow-800.woff2") format("woff2"); font-weight: 800; font-display: swap; }

:root {
    --tcg-largeur: 15rem;
    --tcg-os: #efe7d6;
    --tcg-encre: #120c0b;
    --tcg-sang: #c4161d;
}

/* ================================================================ la carte
 *
 * Base générique : une carte noir violacé, une image carrée, en dessous une
 * zone de texte crème foncé grisé (numéro de la carte en bas à droite), et
 * quatre encarts aux jonctions (coins bas de l'image, coins hauts du texte).
 */

.tcg-carte {
    --fond: #16111d; --zone: #b9b2a5; --encre: #1a1620;
    position: relative; width: var(--tcg-largeur); aspect-ratio: 63 / 88;
    container-type: inline-size; perspective: calc(var(--tcg-largeur) * 3.6); flex: none;
    font-family: "TCG Barlow", system-ui, sans-serif; color: var(--encre);
    -webkit-user-select: none; user-select: none;
}
.tcg-carte.is-agrandissable:not(.is-cachee) { cursor: zoom-in; }
.tcg-carte__corps { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.tcg-carte.is-suit .tcg-carte__corps { transition: none; }
.tcg-carte.is-cachee .tcg-carte__corps { transform: rotateY(180deg); }

.tcg-face { position: absolute; inset: 0; overflow: hidden; border-radius: 4.5cqw;
    -webkit-backface-visibility: hidden; backface-visibility: hidden;
    box-shadow: 0 1.6cqw 5cqw rgba(0, 0, 0, .5); }
.tcg-face--dos { transform: rotateY(180deg); }

.tcg-face--avant { --m: 3.4cqw; background: var(--fond); }

/* L'image, carrée. */
.tcg-illu { position: absolute; z-index: 1; left: var(--m); right: var(--m); top: var(--m); margin: 0; aspect-ratio: 1; overflow: hidden; border-radius: 2cqw; background: #241d2c; }
.tcg-illu img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* La zone de texte. */
.tcg-zone { position: absolute; z-index: 1; left: var(--m); right: var(--m); top: calc(var(--m) + (100cqw - 2 * var(--m)) + 3cqw); bottom: var(--m);
    border-radius: 2cqw; background: var(--zone); padding: 5cqw 5cqw 7cqw; box-sizing: border-box; display: flex; flex-direction: column; gap: 1.6cqw; text-align: center; }
.tcg-nom { margin: 0; font: 800 6.4cqw/1.05 "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tcg-texte { margin: 0; font: 600 3.6cqw/1.3 "TCG Barlow", sans-serif; opacity: .8; }
.tcg-numero { position: absolute; right: 3cqw; bottom: 2.4cqw; font: 700 3cqw/1 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .03em; opacity: .7; }

/* ================================================================ raretés
 * Pour l'instant aucun effet : on avance pas à pas sur la carte de base.
 */
.tcg-contour, .tcg-ornement, .tcg-zone__eclat { display: none !important; }

/* --- reflet qui suit le pointeur, holo */
.tcg-reflet { position: absolute; left: -50%; top: -50%; width: 200%; height: 200%; z-index: 5; pointer-events: none;
    background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .22), rgba(255, 255, 255, .04) 22%, transparent 40%);
    opacity: 0; transition: opacity .3s; will-change: transform, opacity; }
.tcg-carte.is-suit .tcg-reflet { opacity: 1; }
.tcg-holo { display: none; position: absolute; left: -60%; top: -60%; width: 220%; height: 220%; z-index: 4; pointer-events: none;
    mix-blend-mode: soft-light; opacity: .26; transition: opacity .3s; will-change: transform, opacity;
    background: repeating-linear-gradient(115deg, #ff3d6e 0%, #ffcf3d 5%, #4dffb0 10%, #3dc9ff 15%, #9d5bff 20%, #ff3d6e 25%); }
.tcg-carte.is-suit .tcg-holo { opacity: .45; }
.tcg--holo .tcg-holo { display: block; }

/* ================================================================ en grand, plein écran */

.tcg-zoom { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 0;
    background: rgba(6, 4, 4, .88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    animation: tcg-zoom-fond .25s ease-out both; cursor: zoom-out; }
.tcg-zoom .tcg-carte { --tcg-largeur: min(94vw, calc(90vh * 63 / 88), calc(90dvh * 63 / 88)); cursor: default; animation: tcg-zoom-carte .45s cubic-bezier(.2, .9, .3, 1.15) both; }
.tcg-zoom__fermer { position: fixed; top: 1rem; right: 1rem; width: 2.6rem; height: 2.6rem; border: 0; border-radius: 50%;
    background: rgba(255, 255, 255, .12); color: #fff; font: 400 1.6rem/1 system-ui, sans-serif; cursor: pointer; }
.tcg-zoom__fermer:hover, .tcg-zoom__fermer:focus-visible { background: rgba(255, 255, 255, .25); outline: none; }
@keyframes tcg-zoom-fond { from { opacity: 0; } }
@keyframes tcg-zoom-carte { from { transform: scale(.6) rotate(-4deg); opacity: 0; } }
.tcg-sans-defilement { overflow: hidden; }

/* ================================================================ le dos */

.tcg-face--dos {
    display: grid; place-items: center; text-align: center; color: var(--tcg-os);
    background:
        radial-gradient(70% 50% at 50% 50%, rgba(196, 22, 29, .55), transparent 70%),
        repeating-linear-gradient(45deg, rgba(255, 255, 255, .035) 0 .4cqw, transparent .4cqw 2.4cqw),
        repeating-linear-gradient(-45deg, rgba(255, 255, 255, .035) 0 .4cqw, transparent .4cqw 2.4cqw),
        linear-gradient(#170d0c, #0a0606);
}
.tcg-face--dos::before { content: ""; position: absolute; inset: 3.2cqw; border-radius: 3cqw; border: .5cqw solid rgba(239, 231, 214, .75); box-shadow: inset 0 0 0 1.4cqw rgba(0, 0, 0, .35), inset 0 0 0 1.8cqw rgba(239, 231, 214, .25); }
.tcg-dos { position: relative; display: grid; justify-items: center; gap: 2.4cqw; }
.tcg-dos__embleme { display: grid; place-items: center; width: 42cqw; aspect-ratio: 1; border-radius: 50%;
    background: radial-gradient(circle at 50% 40%, #2a0d0c, #0c0605 70%);
    box-shadow: 0 0 0 .8cqw var(--tcg-os), 0 0 0 1.8cqw rgba(0, 0, 0, .7), 0 0 0 2.3cqw var(--tcg-sang), 0 0 8cqw rgba(220, 30, 30, .55);
    font: 400 30cqw/1 "TCG Gothique", serif; color: var(--tcg-sang); text-shadow: .8cqw .6cqw 0 var(--tcg-os); }
.tcg-dos__titre { font: 400 10cqw/1 "TCG Gothique", serif; color: var(--tcg-os); }
.tcg-dos__sous { font: 400 4cqw/1 "TCG Bebas", sans-serif; letter-spacing: .3em; color: rgba(239, 231, 214, .7); }

/* ================================================================ le booster */

.tcg-booster {
    --l: 15.5rem;
    position: relative; width: var(--l); aspect-ratio: 63 / 104; container-type: inline-size; cursor: pointer;
    margin: 0; padding: 0; border: 0; background: none; -webkit-appearance: none; appearance: none; font: inherit; color: inherit;
    filter: drop-shadow(0 2rem 2.4rem rgba(0, 0, 0, .7));
    transition: transform .3s; touch-action: none;
}
.tcg-booster:hover { transform: translateY(-.4rem) rotate(-1deg); }
.tcg-booster__haut, .tcg-booster__corps { position: absolute; left: 0; right: 0; overflow: hidden;
    background:
        radial-gradient(80% 45% at 50% 42%, rgba(220, 30, 30, .55), transparent 75%),
        repeating-linear-gradient(100deg, rgba(255, 255, 255, .04) 0 .5cqw, transparent .5cqw 2cqw),
        linear-gradient(160deg, #3a0a0c, #0d0606 45%, #2a0709 75%, #0a0505);
}
/* Bords sertis en dents de scie, en haut et en bas. */
.tcg-booster__haut { top: 0; height: 14%;
    -webkit-mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / 4.6cqw 100%;
    mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / 4.6cqw 100%; }
.tcg-booster__haut::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: .6cqw; background: repeating-linear-gradient(90deg, rgba(239, 231, 214, .55) 0 2cqw, transparent 2cqw 3.6cqw); }
.tcg-booster__corps { top: 14%; bottom: 0;
    -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 4.6cqw 100%;
    mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 4.6cqw 100%;
    display: grid; justify-items: center; align-content: center; gap: 3cqw; text-align: center; color: var(--tcg-os); }
/* Le film métallisé : un reflet qui passe. */
.tcg-booster__haut::before, .tcg-booster__corps::before { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen;
    background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .22) 47%, rgba(255, 220, 220, .1) 52%, transparent 62%) -120% 0 / 260% 100% no-repeat;
    animation: tcg-film 3.6s ease-in-out infinite; }
@keyframes tcg-film { 0%, 40% { background-position: -120% 0; } 80%, 100% { background-position: 220% 0; } }
.tcg-booster__pres { font: 400 4.2cqw/1 "TCG Bebas", sans-serif; letter-spacing: .3em; color: rgba(239, 231, 214, .7); }
.tcg-booster__titre { margin: 0; font: 400 20cqw/.9 "TCG Gothique", serif; color: var(--tcg-sang); text-shadow: 1cqw .7cqw 0 var(--tcg-os), 0 0 6cqw rgba(255, 50, 30, .5); rotate: -4deg; }
.tcg-booster__eventail { position: relative; width: 46cqw; height: 34cqw; margin: 2cqw 0; }
.tcg-booster__eventail i { position: absolute; left: 50%; bottom: 0; width: 22cqw; aspect-ratio: 63 / 88; translate: -50% 0; transform-origin: 50% 120%; border-radius: 1.4cqw;
    background: radial-gradient(circle at 50% 45%, var(--tcg-sang) 0 22%, transparent 23%), linear-gradient(#1a0d0c, #080404);
    box-shadow: 0 0 0 .5cqw var(--tcg-os), 0 1cqw 2cqw rgba(0, 0, 0, .6); }
.tcg-booster__eventail i:nth-child(1) { rotate: -22deg; }
.tcg-booster__eventail i:nth-child(2) { rotate: 0deg; z-index: 1; }
.tcg-booster__eventail i:nth-child(3) { rotate: 22deg; }
.tcg-booster__sous { font: 400 6cqw/1 "TCG Anton", sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.tcg-booster__mention { padding: 1.4cqw 3.4cqw; border: .5cqw solid var(--tcg-sang); color: var(--tcg-sang); font: 400 4.2cqw/1 "TCG Bebas", sans-serif; letter-spacing: .2em; rotate: -3deg; }
.tcg-booster__nb { font: 400 4cqw/1 "TCG Machine", monospace; color: rgba(239, 231, 214, .7); }

/* --- l'ouverture */
.tcg-booster.is-secoue { animation: tcg-secoue .55s cubic-bezier(.36, .07, .19, .97) both; }
@keyframes tcg-secoue {
    10%, 90% { transform: translate(-2px, 0) rotate(-1deg); }
    20%, 80% { transform: translate(4px, -2px) rotate(2deg); }
    30%, 50%, 70% { transform: translate(-6px, 1px) rotate(-3deg); }
    40%, 60% { transform: translate(6px, -1px) rotate(3deg); }
}
.tcg-booster.is-dechire .tcg-booster__haut { animation: tcg-arrache .6s cubic-bezier(.3, .7, .3, 1) forwards; }
@keyframes tcg-arrache { 30% { transform: translate(4%, -20%) rotate(6deg); } 100% { transform: translate(40%, -160%) rotate(32deg); opacity: 0; } }
.tcg-booster.is-dechire::after { content: ""; position: absolute; left: -20%; right: -20%; top: 4%; height: 30%; pointer-events: none;
    background: radial-gradient(50% 50% at 50% 50%, rgba(255, 240, 200, .95), rgba(255, 160, 80, .5) 35%, transparent 70%);
    animation: tcg-jaillit .8s ease-out forwards; }
@keyframes tcg-jaillit { 0% { opacity: 0; transform: scale(.4); } 30% { opacity: 1; } 100% { opacity: 0; transform: scale(1.8); } }
.tcg-booster.is-vide { animation: tcg-tombe .7s cubic-bezier(.5, 0, .75, 0) forwards; pointer-events: none; }
@keyframes tcg-tombe { to { transform: translateY(70%) rotate(8deg); opacity: 0; } }

/* ================================================================ la scène d'ouverture */

.tcg-scene { position: relative; display: grid; justify-items: center; gap: 1.6rem; min-height: 30rem; }
.tcg-scene__table { position: relative; display: grid; place-items: center; width: 100%; min-height: calc(var(--tcg-largeur) * 88 / 63 + 2rem); }
.tcg-scene__table > * { grid-area: 1 / 1; }
.tcg-pile { position: relative; width: var(--tcg-largeur); aspect-ratio: 63 / 88; }
.tcg-pile { touch-action: none; outline: none; }
.tcg-pile:focus-visible { outline: none; }
.tcg-pile > .tcg-carte { position: absolute; inset: 0; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.tcg-pile > .tcg-carte:first-of-type { cursor: grab; }
.tcg-pile > .tcg-carte.is-tenue { transition: none; cursor: grabbing; }
.tcg-pile.is-sort { animation: tcg-sort .8s cubic-bezier(.2, .9, .3, 1.1) both; }
@keyframes tcg-sort { from { transform: translateY(45%) scale(.86); opacity: 0; } to { transform: none; opacity: 1; } }

.tcg-revelees { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; min-height: 1rem; --tcg-largeur: 9.5rem; }
.tcg-revelees > .tcg-carte { animation: tcg-pose .5s cubic-bezier(.2, .9, .3, 1.2) both; }
@keyframes tcg-pose { from { transform: translateY(-40%) scale(1.25); opacity: 0; } to { transform: none; opacity: 1; } }

/* Les effets de révélation, selon la rareté. */
.tcg-flash { position: absolute; inset: -30%; z-index: 5; pointer-events: none; border-radius: 50%; animation: tcg-flash .9s ease-out forwards; }
.tcg-flash--epique { background: radial-gradient(circle, rgba(225, 190, 255, .85), rgba(140, 70, 230, .35) 40%, transparent 65%); animation-duration: 1.1s; }
.tcg-flash--legendaire { background: radial-gradient(circle, rgba(255, 245, 210, .95), rgba(255, 190, 70, .6) 30%, transparent 65%); animation-duration: 1.5s; }
@keyframes tcg-flash { 0% { opacity: 0; transform: scale(.3); } 25% { opacity: 1; } 100% { opacity: 0; transform: scale(1.6); } }
.tcg-tremble { animation: tcg-tremble .6s cubic-bezier(.36, .07, .19, .97) both; }
@keyframes tcg-tremble { 10%, 90% { translate: -2px 1px; } 20%, 80% { translate: 4px -2px; } 30%, 50%, 70% { translate: -7px 3px; } 40%, 60% { translate: 7px -3px; } }
.tcg-braise { position: absolute; left: 50%; top: 50%; z-index: 6; width: var(--t); height: var(--t); border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, #fff3c4, #ffb347 35%, #ff4a1c 65%, transparent 72%); box-shadow: 0 0 8px 2px rgba(255, 120, 40, .7);
    animation: tcg-braise var(--d) cubic-bezier(.15, .7, .3, 1) forwards; }
@keyframes tcg-braise { 0% { transform: translate(-50%, -50%) scale(1); opacity: 1; } 55% { transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(.9); opacity: 1; }
    100% { transform: translate(calc(-50% + var(--x) * 1.1), calc(-50% + var(--y) + var(--g, 50px))) scale(.4); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
    .tcg-zoom, .tcg-zoom .tcg-carte, .tcg-carte *, .tcg-booster, .tcg-booster *, .tcg-pile > .tcg-carte, .tcg-revelees > .tcg-carte, .tcg-tremble { animation: none !important; transition: none !important; }
}

/* ================================================================ zone de texte : la cassure
 * L'image, carrée, de la même largeur que la zone de texte, dans le cadre
 * noir de la carte ; la zone de texte vient s'y coller (elle mord sur le bas de l'image : la cassure laisse
 * voir l'image). Papier mat : grain fin et fibres, sans brillance.
 */
.tcg-face--avant .tcg-illu { left: var(--m); right: var(--m); top: var(--m); aspect-ratio: 1; border-radius: 2cqw 2cqw 0 0; }
.tcg-face--avant .tcg-zone { top: calc(100cqw - var(--m) - 6.5cqw); left: var(--m); right: var(--m); bottom: var(--m);
    border-radius: 0; padding: 4cqw 5cqw 7cqw; background: #b9b2a5; }
.labo__select { margin-left: .4rem; padding: .3rem .5rem; border-radius: .35rem; border: 1px solid var(--ligne, #333); background: #1d2024; color: inherit; font: inherit; }

/* Cassure : un onglet à gauche pour le nom, une cassure en biais, un coin coupé en bas à droite. */
.tcg-zone--cassure { clip-path: polygon(0 0, 58% 0, calc(58% + 6cqw) 5cqw, 100% 5cqw, 100% 100%, 0 100%); }
.tcg-zone--cassure .tcg-nom { text-align: left; width: 58%; }
.tcg-zone--cassure .tcg-texte { text-align: left; margin-top: 1.6cqw; }
.tcg-zone--cassure .tcg-numero { right: 7cqw; }




/* Le liseré : il suit la cassure entre la photo et la zone de texte et s'efface de gauche à droite. */
.tcg-zone .tcg-liseret { display: none; position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 7cqw; pointer-events: none;
    background: linear-gradient(90deg, var(--liseret, #fffaf0), color-mix(in srgb, var(--liseret, #fffaf0) 65%, transparent) 40%, transparent 90%); }
.tcg-zone--cassure .tcg-liseret { display: block;
    clip-path: polygon(0 0, 58% 0, calc(58% + 6cqw) 5cqw, 100% 5cqw, 100% 5.8cqw, calc(58% + 5.65cqw) 5.8cqw, calc(58% - .35cqw) .8cqw, 0 .8cqw); }

/* Liseré : une teinte par rareté. */
.tcg--commune    { --liseret: #fffaf0; }
.tcg--rare       { --liseret: #bcd8ff; }
.tcg--epique     { --liseret: #a874ee; }
.tcg--legendaire { --liseret: #ffd36b; }

/* ================================================================ finition de la zone de texte
 * Relief intérieur + dégradé de lumière + trame d'impression (dans le coin en bas à droite).
 */
.tcg-face--avant .tcg-zone {
    background: linear-gradient(180deg, rgba(255, 255, 255, .26), rgba(255, 255, 255, .05) 40%, rgba(0, 0, 0, .08)), #b9b2a5;
    box-shadow: inset 0 .6cqw .8cqw rgba(0, 0, 0, .3), inset 0 2.2cqw 3cqw rgba(0, 0, 0, .38), inset 0 -.8cqw 1.4cqw rgba(255, 255, 255, .3); }
.tcg-face--avant .tcg-zone::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: radial-gradient(circle, rgba(26, 22, 32, .2) 32%, transparent 36%) 0 0 / 1.6cqw 1.6cqw;
    -webkit-mask: radial-gradient(70% 90% at 100% 100%, #000, transparent 70%); mask: radial-gradient(70% 90% at 100% 100%, #000, transparent 70%); }

/* L'holo couvre toute la carte (image et cadre) sauf la zone de texte, posée au-dessus. */
.tcg-face--avant .tcg-zone { z-index: 4; }
.tcg-face--avant .tcg-holo { z-index: 3; }
.tcg-face--avant .tcg-reflet { z-index: 5; }

/* ================================================================ couleurs d'holo
 * multi (arc-en-ciel) : des bandes de reflets qui glissent au survol. Noir et blanc : l'image passe en niveaux de gris et une
 * brillance argentée en « color-dodge » ne fait briller que les parties claires
 * (les zones sombres restent noires).
 */
.tcg--holo-nb .tcg-illu img { filter: grayscale(1) contrast(1.5) brightness(.86); }
/* Noir et blanc : un cadre plus sombre. */
.tcg-carte.tcg--holo-nb { --fond: #0a080c; }
.tcg--holo-nb .tcg-holo { mix-blend-mode: color-dodge; opacity: .3;
    background: repeating-linear-gradient(115deg, rgba(255, 255, 255, 0) 0%, rgba(150, 155, 162, .35) 4%, #c8ccd2 6%, rgba(110, 115, 122, .25) 9%, rgba(255, 255, 255, 0) 13%); }
.tcg-carte.is-suit.tcg--holo-nb .tcg-holo { opacity: .55; }

/* ================================================================ full art
 * Plus aucun cadre : l'image prend toute la carte et se fond vers le bas dans un
 * dégradé de ses couleurs dominantes (--fa-haut, --fa-bas, calculées par le
 * script), qui sert de zone de texte. L'holo passe par-dessus tout.
 */
.tcg--fullart .tcg-face--avant { background:
    linear-gradient(180deg, var(--fa-haut, #3a2f45) 0%, var(--fa-bas, #241d2c) 62%, color-mix(in srgb, var(--fa-bas, #241d2c) 45%, #000) 100%); }
.tcg--fullart .tcg-face--avant .tcg-illu { left: 0; right: 0; top: 0; bottom: auto; height: 84%; aspect-ratio: auto; border-radius: 0; background: none; z-index: 1;
    -webkit-mask-image: linear-gradient(180deg, #000 52%, transparent 100%); mask-image: linear-gradient(180deg, #000 52%, transparent 100%); }
.tcg--fullart .tcg-face--avant .tcg-zone { top: auto !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 2;
    padding: 0 6cqw 8cqw !important; background: none !important; box-shadow: none !important; clip-path: none !important; border-radius: 0 !important;
    color: #fff; text-shadow: 0 .4cqw 1.6cqw rgba(0, 0, 0, .55); }
.tcg--fullart .tcg-zone::before, .tcg--fullart .tcg-zone .tcg-liseret { display: none !important; }
.tcg--fullart .tcg-nom { width: auto !important; font-size: 7.4cqw; }
.tcg--fullart .tcg-texte { opacity: .88; }
.tcg--fullart .tcg-numero { right: 5cqw !important; bottom: 3.4cqw; color: #fff; opacity: .65; }
.tcg--fullart.tcg--holo .tcg-holo { z-index: 3; mix-blend-mode: soft-light; opacity: .42; }
.tcg-carte.is-suit.tcg--fullart.tcg--holo .tcg-holo { opacity: .62; }

/* Épique et légendaire : les couleurs du
 * bas de l'image (--zc1..3, calculées par le script) se diffusent sur le fond
 * crème de la zone de texte, plus fort en haut, contre l'image. */
.tcg-carte.tcg--teinte .tcg-face--avant .tcg-zone { background:
    linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .04) 40%, rgba(0, 0, 0, .08)),
    radial-gradient(90% 100% at 8% 0%, color-mix(in srgb, var(--zc1, #b9b2a5) 35%, transparent), transparent 80%),
    radial-gradient(90% 100% at 50% 0%, color-mix(in srgb, var(--zc2, #b9b2a5) 30%, transparent), transparent 80%),
    radial-gradient(90% 100% at 92% 0%, color-mix(in srgb, var(--zc3, #b9b2a5) 35%, transparent), transparent 80%),
    #b9b2a5; }

/* ================================================================ coût, tags */
/* Le coût : une encoche dans le coin haut gauche de l'image, deux droites qui se
 * rejoignent (pas tout à fait d'équerre, de longueurs inégales). C'est un trou dans
 * l'image : on y voit le fond de la carte, sa lumière, son holo.
 * Le bord de la découpe est biseauté : deux bandes qui reprennent l'image elle-même
 * (--tcg-img) éclaircie d'un voile blanc (visible même sur une image noire), l'une
 * éclairée, l'autre dans l'ombre. */
.tcg--cout .tcg-face--avant .tcg-illu {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpolygon points='0,0 9.72,0 8.6,7.11 0,8.08'/%3E%3C/svg%3E") 0 0 / 17cqw 17cqw no-repeat, linear-gradient(#000, #000);
    -webkit-mask-composite: xor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpolygon points='0,0 9.72,0 8.6,7.11 0,8.08'/%3E%3C/svg%3E") 0 0 / 17cqw 17cqw no-repeat exclude, linear-gradient(#000, #000); }
.tcg-cout { position: absolute; z-index: 6; left: var(--m); top: var(--m); width: 17cqw; height: 17cqw; pointer-events: none; }
.tcg-biseau { position: absolute; left: 0; top: 0; width: calc(100cqw - 2 * var(--m)); aspect-ratio: 1;
    background: var(--tcg-img, none) center / cover no-repeat, #3a3044; }
.tcg-biseau--lumiere { clip-path: polygon(9.72cqw 0, 10.64cqw 0, 9.38cqw 7.92cqw, 8.6cqw 7.11cqw);
    background: linear-gradient(rgba(255, 255, 255, .38), rgba(255, 255, 255, .38)), var(--tcg-img, none) center / cover no-repeat, #3a3044;
    filter: brightness(1.32) saturate(1.3); }
.tcg-biseau--ombre { clip-path: polygon(8.6cqw 7.11cqw, 9.38cqw 7.92cqw, 0 8.98cqw, 0 8.08cqw);
    background: linear-gradient(rgba(255, 255, 255, .24), rgba(255, 255, 255, .24)), var(--tcg-img, none) center / cover no-repeat, #3a3044;
    filter: brightness(.64) saturate(1.1); }
.tcg-cout__valeur { position: absolute; z-index: 1; left: 0; top: 0; width: 8.6cqw; height: 7.6cqw; display: grid; place-items: center;
    font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif; color: #fff; font-variant-numeric: tabular-nums;
    text-shadow: 0 .3cqw 1cqw rgba(0, 0, 0, .5); }
.tcg--fullart .tcg-cout { left: 0; top: 0; }
.tcg--fullart .tcg-biseau { width: 100cqw; aspect-ratio: auto; height: calc(100cqw * 88 / 63 * .84); }
.tcg-tags { margin: -.6cqw 0 0; font: 700 2.7cqw/1.1 "TCG Barlow", sans-serif; letter-spacing: .1em; text-transform: uppercase; opacity: .6;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; }

/* ================================================================ identifiant unique et numéro, en bas
 * L'icône de rareté suit l'identifiant, dans sa taille et sa couleur. */
@font-face { font-family: "TCG Oxanium"; src: url("tcg-oxanium-800.woff2") format("woff2"); font-weight: 800; font-display: swap; }
.tcg-numero, .tcg-ident { font-size: 2.4cqw !important; bottom: 1.7cqw !important; }
.tcg-ident { position: absolute; z-index: 1; right: 2.4cqw; display: inline-flex; align-items: center; gap: .8cqw;
    font: 700 2.4cqw/1 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .03em; opacity: .85; }
.tcg-numero--gauche { right: auto !important; left: 2.6cqw; }
.tcg-ident__icone { font-style: normal; font-size: inherit; line-height: inherit; color: inherit; }
.tcg--fullart .tcg-ident { right: 3.4cqw; color: #fff; }
.tcg--fullart .tcg-numero--gauche { left: 3.4cqw; }

/* ================================================================ puissance
 * Dans la zone de texte, à droite, de l'autre côté de la cassure ; alignée sur le bas
 * des tags (ou du nom, sans tags). Police à part : Oxanium. */
.tcg-entete { display: flex; align-items: flex-end; gap: 2cqw; }
.tcg-entete__titres { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .9cqw; }
.tcg-entete .tcg-nom { width: auto !important; max-width: 49cqw; }
.tcg-entete .tcg-tags { margin: 0; }
.tcg-puissance { flex: none; font: 800 6.6cqw/.74 "TCG Oxanium", "TCG Barlow", sans-serif; letter-spacing: .01em; font-variant-numeric: tabular-nums;
    color: #1d1922; margin-bottom: .1cqw; }
.tcg--fullart .tcg-entete .tcg-nom { max-width: none; }
.tcg--fullart .tcg-puissance { color: #fff; }

/* Les titres longs : toujours sur une ligne, jamais coupés ; le script réduit leur police. */
.tcg-entete .tcg-nom { white-space: nowrap; overflow: hidden; text-overflow: clip; letter-spacing: 0; }
.tcg--holo-nb .tcg-biseau--lumiere { filter: grayscale(1) contrast(1.55) brightness(1.4); }
.tcg--holo-nb .tcg-biseau--ombre { filter: grayscale(1) contrast(1.55) brightness(.64); }
.tcg--cout .tcg-face--avant .tcg-illu { border-top-left-radius: 0; }

/* ================================================================ le plus des raretés
 * Chaque rareté garde ce qu'apportent les précédentes.
 * Rare : le contour de l'image à sa couleur.
 * Épique : un gaufrage dans le cadre (vu seulement sous le reflet).
 * Légendaire : le nom en dorure, un reflet lent qui longe le liseré de temps en temps. */
/* Le contour de l'image : deux segments de l'épaisseur du liseré qui partent de l'encoche du
 * coût (sans toucher à l'encoche ni à son biseau) : l'un par le haut puis la droite, qui
 * s'estompe vers le coin bas droit ; l'autre par la gauche, qui rejoint le liseré du bas
 * de l'image. La zone de texte passe par-dessus le bas de l'image. */
.tcg-filet { position: absolute; z-index: 3; left: var(--m); top: var(--m); width: calc(100cqw - 2 * var(--m)); aspect-ratio: 1; pointer-events: none;
    box-sizing: border-box; border: 0 solid var(--liseret); }
.tcg-filet--haut { border-top-width: .8cqw; border-right-width: .8cqw; border-top-right-radius: 2cqw;
    -webkit-mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 45%, transparent 90%);
    -webkit-mask-composite: source-in;
    mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 45%, transparent 90%);
    mask-composite: intersect; }
.tcg-filet--bas { border-left-width: .8cqw;
    -webkit-mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw); mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw); }
.tcg--epique .tcg-puissance { color: var(--rarete-encre); }
.tcg--fullart.tcg--epique .tcg-puissance { color: var(--liseret); }

.tcg-motif { position: absolute; left: -50%; top: -50%; width: 200%; height: 200%; z-index: 0; pointer-events: none;
    -webkit-mask: radial-gradient(circle at 50% 50%, #000, transparent 24%); mask: radial-gradient(circle at 50% 50%, #000, transparent 24%);
    opacity: 0; transition: opacity .3s; }
.tcg-carte.is-suit .tcg-motif { opacity: 1; }
.tcg-motif__grille { position: absolute; left: 25%; top: 25%; width: 50%; height: 50%;
    --trait: color-mix(in srgb, color-mix(in srgb, var(--liseret) 25%, #fff) 22%, transparent);
    background: repeating-linear-gradient(45deg, var(--trait) 0 .22cqw, transparent .22cqw 2.2cqw),
                repeating-linear-gradient(-45deg, var(--trait) 0 .22cqw, transparent .22cqw 2.2cqw); }

.tcg--fullart.tcg--legendaire .tcg-nom { filter: drop-shadow(0 .3cqw .8cqw rgba(0, 0, 0, .6)); }
.tcg--legendaire .tcg-liseret::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 30%;
    background: linear-gradient(90deg, transparent, rgba(255, 250, 225, .95) 50%, transparent);
    transform: translateX(-110%); animation: tcg-liseret-eclat 7s ease-in-out infinite 1.5s; }
@keyframes tcg-liseret-eclat { 0% { transform: translateX(-110%); } 22%, 100% { transform: translateX(360%); } }
.tcg--commune { --rarete-encre: #5f5852; }
.tcg--rare { --rarete-encre: #2f63c8; }
.tcg--epique { --rarete-encre: #7438c9; }
.tcg--legendaire { --rarete-encre: #8a5a06; }

/* La brillance des textes de rareté (puissance des épiques et légendaires, nom des légendaires) :
 * un film métallisé thermocollé. Le reflet glisse avec l'inclinaison (--tcg-px, posé par le
 * script), un fin brossage strie le métal, et un léger relief (lumière dessus, ombre
 * dessous) le fait paraître pressé à chaud dans le papier. */
.tcg--epique, .tcg--legendaire { --brille: var(--rarete-encre); }
.tcg--fullart.tcg--epique, .tcg--fullart.tcg--legendaire { --brille: var(--liseret); }
.tcg--epique .tcg-puissance, .tcg--legendaire .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .08) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--brille) 38%, color-mix(in srgb, var(--brille) 60%, #fff) 50%, var(--brille) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--legendaire .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(100deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 220% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--epique .tcg-puissance, .tcg--legendaire .tcg-puissance, .tcg--legendaire .tcg-nom {
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .14cqw .06cqw rgba(30, 20, 10, .4)); }
.tcg--fullart .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-nom { filter: drop-shadow(0 .3cqw .8cqw rgba(0, 0, 0, .6)); }
/* Le voile d'une carte usée (--deform, posé par le script) passe par le corps de la carte,
 * pas par sa face : une face transformée affaiblissait l'holo (mélange des calques). */
.tcg-carte__corps { transform: var(--deform, none); }
.tcg-carte.is-cachee .tcg-carte__corps { transform: rotateY(180deg) var(--deform, ); }

/* ================================================================ usure : micro-rayures
 * Un canevas révélé seulement par une tache de lumière qui suit le pointeur (l'enveloppe
 * bouge, l'image reste en place). Une carte usée est aussi un peu gondolée : la face est
 * très légèrement voilée (script) et une ombre douce marque la courbure. */
.tcg-rayures-eclat { position: absolute; left: -50%; top: -50%; width: 200%; height: 200%; z-index: 5; pointer-events: none;
    -webkit-mask: radial-gradient(circle at 50% 50%, #000, rgba(0, 0, 0, .35) 10%, transparent 22%);
    mask: radial-gradient(circle at 50% 50%, #000, rgba(0, 0, 0, .35) 10%, transparent 22%);
    opacity: 0; transition: opacity .3s; }
/* Discrètes : fines et à moitié transparentes, pour ne pas sauter aux yeux sur le noir. */
.tcg-carte.is-suit .tcg-rayures-eclat { opacity: .5; }
.tcg-rayures-eclat__img { position: absolute; left: 25%; top: 25%; width: 50%; height: 50%; }
.tcg-gondole { position: absolute; inset: 0; z-index: 5; pointer-events: none;
    background: linear-gradient(var(--g-angle, 30deg), transparent calc(var(--g-pos, 50%) - 22%), rgba(0, 0, 0, .1) var(--g-pos, 50%),
        rgba(255, 255, 255, .06) calc(var(--g-pos, 50%) + 6%), transparent calc(var(--g-pos, 50%) + 24%)); }

/* ================================================================ le booster, en main
 * En glissant le long de la ligne du haut, la languette se soulève au fil du geste
 * (--dechire, de 0 à 1). */
.tcg-booster__sachet { position: absolute; inset: 0; }
.tcg-booster__haut { transform-origin: 100% 100%; transform: translateY(calc(var(--dechire, 0) * -9%)) rotate(calc(var(--dechire, 0) * -9deg)); transition: transform .3s; }
.tcg-booster.is-dechire-g .tcg-booster__haut { transform-origin: 0 100%; transform: translateY(calc(var(--dechire, 0) * -9%)) rotate(calc(var(--dechire, 0) * 9deg)); }
.tcg-booster.is-geste .tcg-booster__haut { transition: none; }
.tcg-booster__fente { position: absolute; left: 0; right: 0; top: 13.4%; height: 1.4cqw; pointer-events: none; transform-origin: 0 50%;
    transform: scaleX(var(--dechire, 0)); background: linear-gradient(90deg, rgba(255, 240, 200, .2), #fff6dc 85%, #fff);
    box-shadow: 0 0 3cqw 1cqw rgba(255, 200, 120, .6); border-radius: 1cqw; transition: transform .3s; }
.tcg-booster.is-dechire-g .tcg-booster__fente { transform-origin: 100% 50%; background: linear-gradient(270deg, rgba(255, 240, 200, .2), #fff6dc 85%, #fff); }
.tcg-booster.is-geste .tcg-booster__fente { transition: none; }
.tcg-booster.is-dechire .tcg-booster__fente { opacity: 0; transition: opacity .3s; }
.tcg-booster:not(.is-ouvre) .tcg-booster__haut { cursor: ew-resize; }

/* ================================================================ révélation d'une épique, d'une légendaire */
.tcg-rayons { position: absolute; left: 50%; top: 50%; width: calc(var(--tcg-largeur, 15rem) * 2.6); aspect-ratio: 1; translate: -50% -50%; z-index: 0; pointer-events: none; border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, var(--r) 0 5deg, transparent 5deg 15deg);
    -webkit-mask: radial-gradient(circle, #000 10%, transparent 62%); mask: radial-gradient(circle, #000 10%, transparent 62%);
    animation: tcg-rayons 2.6s cubic-bezier(.2, .7, .3, 1) forwards; }
.tcg-rayons--epique { --r: rgba(190, 125, 255, .5); }
.tcg-rayons--legendaire { --r: rgba(255, 205, 100, .6); animation-duration: 2.6s; }
@keyframes tcg-rayons { 0% { opacity: 0; transform: rotate(0) scale(.4); } 18% { opacity: 1; } 100% { opacity: 0; transform: rotate(70deg) scale(1.1); } }
.tcg-jaillit--epique, .tcg-jaillit--legendaire { animation: tcg-carte-jaillit .9s cubic-bezier(.2, .9, .3, 1.2); }
.tcg-jaillit--legendaire { animation-duration: 1.2s; }
@keyframes tcg-carte-jaillit { 0% { transform: scale(.9); filter: brightness(2.4); } 40% { transform: scale(1.07); filter: brightness(1.4); } 100% { transform: none; filter: none; } }
.tcg-braise--epique { background: radial-gradient(circle, #fff, #e1c2ff 35%, #8a3dff 65%, transparent 72%); box-shadow: 0 0 8px 2px rgba(160, 90, 255, .7); }
.tcg-braise--legendaire { background: radial-gradient(circle, #fff8dc, #ffd36b 35%, #ff9d1c 65%, transparent 72%); box-shadow: 0 0 8px 2px rgba(255, 180, 50, .75); }


.tcg-pile > .tcg-carte:not(:first-of-type) .tcg-aura { display: none; }

/* ================================================================ particules et révélations (v2)
 * Les particules montent en dérivant et scintillent (deux animations séparées : la
 * montée sur « translate », le scintillement sur « scale ») ; quelques étoiles à
 * quatre branches ; un halo qui respire derrière la carte. */
.tcg-halo { position: absolute; inset: -14%; pointer-events: none; border-radius: 50%; animation: tcg-halo 3.4s ease-in-out infinite; }
.tcg-halo--epique { background: radial-gradient(closest-side, rgba(170, 100, 255, .38), rgba(120, 60, 220, .12) 60%, transparent); }
.tcg-halo--legendaire { background: radial-gradient(closest-side, rgba(255, 205, 100, .5), rgba(255, 160, 40, .16) 60%, transparent); }
@keyframes tcg-halo { 0%, 100% { opacity: .55; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }
.tcg-pile > .tcg-carte:not(:first-of-type) .tcg-halo { display: none; }

.tcg-aura { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.tcg-aura--epique { --a1: #b98aff; --a2: #f1e4ff; }
.tcg-aura--legendaire { --a1: #ffc94a; --a2: #fff6d8; }
.tcg-aura i { position: absolute; width: var(--t); height: var(--t); margin: calc(var(--t) / -2) 0 0 calc(var(--t) / -2); border-radius: 50%; opacity: 0;
    background: radial-gradient(circle, var(--a2) 0 20%, var(--a1) 45%, transparent 70%); box-shadow: 0 0 1.4cqw var(--a1);
    animation-name: tcg-aura-monte, tcg-aura-scintille; animation-timing-function: cubic-bezier(.3, .2, .5, 1), ease-in-out; animation-iteration-count: infinite; }
.tcg-aura i.is-etoile { border-radius: 0; box-shadow: none; filter: drop-shadow(0 0 .8cqw var(--a1));
    background: radial-gradient(circle, #fff 0 12%, var(--a2) 25%, var(--a1) 45%, transparent 70%);
    clip-path: polygon(50% 0, 57% 43%, 100% 50%, 57% 57%, 50% 100%, 43% 57%, 0 50%, 43% 43%); }
@keyframes tcg-aura-monte { 0% { translate: 0 0; opacity: 0; } 15% { opacity: 1; } 50% { translate: calc(var(--dx) * .6) calc(var(--dy) * .5); } 85% { opacity: .8; } 100% { translate: var(--dx) var(--dy); opacity: 0; } }
@keyframes tcg-aura-scintille { 0%, 100% { scale: .55; } 50% { scale: 1.15; } }

/* Le balayage : un reflet qui traverse la carte au moment où on la découvre. */
.tcg-balayage { position: absolute; inset: -20% -60%; z-index: 6; pointer-events: none; mix-blend-mode: screen;
    background: linear-gradient(105deg, transparent 38%, var(--bal, rgba(255, 255, 255, .55)) 50%, transparent 62%);
    animation: tcg-balayage 1.1s cubic-bezier(.4, .1, .3, 1) .1s both; }
.tcg-balayage--rare { --bal: rgba(200, 225, 255, .6); }
.tcg-balayage--epique { --bal: rgba(225, 195, 255, .7); }
.tcg-balayage--legendaire { --bal: rgba(255, 238, 190, .85); animation-duration: 1.4s; }
@keyframes tcg-balayage { from { transform: translateX(-45%); } to { transform: translateX(45%); } }

/* L'onde de choc, le pilier de lumière, les rayons (deux couches en sens contraire pour la légendaire). */
.tcg-onde { position: absolute; left: 50%; top: 50%; z-index: 0; width: calc(var(--tcg-largeur, 15rem) * 1.1); aspect-ratio: 1; translate: -50% -50%; pointer-events: none; border-radius: 50%;
    border: 3px solid var(--o); box-shadow: 0 0 24px var(--o), inset 0 0 24px var(--o); animation: tcg-onde 1.1s cubic-bezier(.1, .7, .3, 1) both; }
.tcg-onde--epique { --o: rgba(190, 130, 255, .8); }
.tcg-onde--legendaire { --o: rgba(255, 210, 110, .9); }
.tcg-onde--2 { animation-delay: .25s; animation-duration: 1.4s; }
@keyframes tcg-onde { from { transform: scale(.3); opacity: 1; } to { transform: scale(2.1); opacity: 0; } }
.tcg-pilier { position: absolute; left: 50%; top: 50%; z-index: 0; width: calc(var(--tcg-largeur, 15rem) * .9); height: 260vh; translate: -50% -50%; pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 220, 140, .35) 35%, rgba(255, 248, 225, .7) 50%, rgba(255, 220, 140, .35) 65%, transparent);
    -webkit-mask: linear-gradient(transparent, #000 30%, #000 70%, transparent); mask: linear-gradient(transparent, #000 30%, #000 70%, transparent);
    animation: tcg-pilier 2s cubic-bezier(.2, .7, .3, 1) both; }
@keyframes tcg-pilier { 0% { transform: scaleX(.05); opacity: 0; } 20% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(.5); opacity: 0; } }
.tcg-rayons { animation-duration: 3.2s; }
.tcg-rayons--contre { --r: rgba(255, 240, 200, .35); animation-name: tcg-rayons-contre; }
@keyframes tcg-rayons-contre { 0% { opacity: 0; transform: rotate(0) scale(.5); } 18% { opacity: 1; } 100% { opacity: 0; transform: rotate(-50deg) scale(1.2); } }
.tcg-braise--rare { background: radial-gradient(circle, #fff, #d6e8ff 40%, #6aa3ff 70%, transparent 72%); box-shadow: 0 0 6px 1px rgba(120, 170, 255, .7); }
.tcg-paillette { position: absolute; left: calc(50% + var(--x)); top: -10%; z-index: 7; width: 7px; height: 7px; pointer-events: none;
    background: radial-gradient(circle, #fff 0 15%, #ffe39a 40%, transparent 70%);
    clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
    animation: tcg-paillette var(--d) cubic-bezier(.3, .2, .6, 1) both; }
@keyframes tcg-paillette { 0% { transform: translateY(0) rotate(0) scale(.6); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(120vh) rotate(260deg) scale(1); opacity: 0; } }

/* ================================================================ la salle : l'ouverture en plein écran */
.tcg-salle { position: fixed; inset: 0; z-index: 900; display: grid; overflow: hidden;
    background: radial-gradient(120% 90% at 50% 40%, #1e1826, #060509); animation: tcg-zoom-fond .25s ease-out both;
    --tcg-largeur: min(60vw, calc(84vh * 63 / 88)); }
.tcg-salle__scene { display: grid; grid-template-columns: minmax(0, 1fr) 11rem; grid-template-rows: 1fr auto auto; gap: .6rem 1.5rem; min-height: 0; padding: 2vh 1.5rem 2vh 1.5rem; }
.tcg-salle__scene > .tcg-scene__table { grid-column: 1; grid-row: 1; min-height: 0; overflow: visible; }
.tcg-salle .tcg-booster { --l: min(60vw, calc(84vh * 63 / 104)); }
.tcg-salle__aide { grid-column: 1; margin: 0; text-align: center; color: rgba(255, 255, 255, .7); font: 500 .95rem/1.4 system-ui, sans-serif; min-height: 1.4em; }
.tcg-salle__actions { grid-column: 1; display: flex; justify-content: center; gap: .6rem; min-height: 2.4rem; }
.tcg-salle__btn { padding: .5rem 1rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: .45rem; background: rgba(255, 255, 255, .08); color: #fff; font: 600 .95rem/1 system-ui, sans-serif; cursor: pointer; }
.tcg-salle__btn:hover { background: rgba(255, 255, 255, .16); }
.tcg-salle__btn--plein { background: #f2f2f2; color: #111; border-color: #f2f2f2; }
.tcg-salle__btn[hidden] { display: none; }
.tcg-salle__colonne { grid-column: 2; grid-row: 1 / span 3; display: flex; flex-direction: column; align-items: center; gap: .7rem; --tcg-largeur: 8.5rem;
    overflow-y: auto; overflow-x: hidden; padding: 3.5rem .4rem 1rem; min-height: 0; }
.tcg-salle__colonne > .tcg-carte { flex: none; }
@media (max-width: 760px) {
    .tcg-salle { --tcg-largeur: min(80vw, calc(62vh * 63 / 88)); }
    .tcg-salle .tcg-booster { --l: min(70vw, calc(62vh * 63 / 104)); }
    .tcg-salle__scene { grid-template-columns: minmax(0, 1fr); grid-template-rows: 1fr auto auto auto; padding-top: 3.5rem; }
    .tcg-salle__colonne { grid-column: 1; grid-row: auto; flex-direction: row; overflow-x: auto; overflow-y: hidden; padding: .3rem; --tcg-largeur: 4.6rem; }
}
.tcg-pile > .tcg-carte { will-change: transform; }
.tcg-pile > .tcg-carte.is-dessous { transition: none; }
@media (prefers-reduced-motion: reduce) { .tcg-aura, .tcg-rayons, .tcg-halo, .tcg-onde, .tcg-pilier, .tcg-paillette, .tcg-balayage { display: none; } }
/* La taille des cartes dans la salle prime sur celle de la page (.tcg-scene). */
.tcg-salle .tcg-salle__scene { --tcg-largeur: min(60vw, calc(80vh * 63 / 88)); }
.tcg-salle .tcg-salle__colonne { --tcg-largeur: 8.5rem; }
@media (max-width: 760px) {
    .tcg-salle .tcg-salle__scene { --tcg-largeur: min(80vw, calc(60vh * 63 / 88)); }
    .tcg-salle .tcg-salle__colonne { --tcg-largeur: 4.6rem; }
}

/* ================================================================ la note (qualité), une fois révélée
 * Un badge en haut à droite de l'image, posé comme un tampon. */
.tcg-note { position: absolute; z-index: 7; top: calc(var(--m, 3.4cqw) + 2.4cqw); right: calc(var(--m, 3.4cqw) + 2.4cqw); pointer-events: none;
    display: grid; justify-items: center; min-width: 11cqw; padding: 1.2cqw 1.6cqw 1cqw; border-radius: 1.6cqw;
    background: rgba(14, 11, 18, .86); color: #fff; box-shadow: inset 0 0 0 .45cqw var(--note), 0 .8cqw 2.4cqw rgba(0, 0, 0, .5);
    font: 800 2.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.tcg-note b { font: 800 7.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif; color: var(--note); margin: .3cqw 0 -.2cqw; }
.tcg-note .tcg-note__sur { opacity: .6; letter-spacing: .04em; }
.tcg-note--parfaite { --note: #ffd36b; }
.tcg-note--haute { --note: #7fe3a1; }
.tcg-note--moyenne { --note: #ffb35c; }
.tcg-note--basse { --note: #ff7a6b; }
.tcg-note.is-tampon { animation: tcg-tampon .55s cubic-bezier(.2, .9, .3, 1.3) both; }
@keyframes tcg-tampon { from { transform: scale(2.2) rotate(-12deg); opacity: 0; } 60% { opacity: 1; } to { transform: none; opacity: 1; } }
.tcg-zoom__note { position: fixed; left: 50%; bottom: 1.2rem; translate: -50% 0; padding: .65rem 1.2rem; border: 1px solid rgba(255, 255, 255, .3); border-radius: 2rem;
    background: rgba(20, 18, 26, .85); color: #fff; font: 600 .95rem/1 system-ui, sans-serif; cursor: pointer; }
.tcg-zoom__note:hover, .tcg-zoom__note:focus-visible { background: rgba(255, 255, 255, .18); outline: none; }
/* La notation dans le boîtier, dans toute la fenêtre, sur le fond du zoom (inchangé). */
.tcg-zoom.is-boitier { cursor: default; }
.tcg-zoom__boitier { position: absolute; inset: 0; }
.tcg-zoom__boitier .tcg-boitier__ombre { opacity: 0 !important; }
.tcg-zoom__boitier .tcg-boitier__releve { display: none; }
.tcg-zoom.is-boitier .tcg-zoom__fermer { z-index: 3; }

/* ================================================================ full art (v2)
 * L'image prend toute la largeur et reste carrée, en haut. Dessous, elle se prolonge
 * (sa dernière bande étirée, de plus en plus floue en descendant, --fa-prolonge) et
 * s'assombrit de plus en plus jusqu'à presque noir en bas. */
.tcg--fullart .tcg-face--avant { background:
    linear-gradient(180deg, transparent 84cqw, rgba(0, 0, 0, .22) 98cqw, rgba(0, 0, 0, .5) 110cqw, rgba(0, 0, 0, .74) 122cqw, rgba(0, 0, 0, .9) 132cqw, rgba(0, 0, 0, .95) 100%),
    var(--fa-prolonge, none) 0 0 / 100% 100% no-repeat,
    linear-gradient(180deg, var(--fa-haut, #3a2f45) 0%, var(--fa-bas, #241d2c) 62%, color-mix(in srgb, var(--fa-bas, #241d2c) 45%, #000) 100%); }
.tcg--fullart .tcg-face--avant .tcg-illu { height: auto; aspect-ratio: 1; }
.tcg--fullart .tcg-biseau { width: 100cqw; height: auto; aspect-ratio: 1; }

/* Full art : pas d'encoche pour le coût, seulement la valeur, avec une ombre pour rester lisible. */
.tcg-carte.tcg--fullart .tcg-face--avant .tcg-illu {
    -webkit-mask: linear-gradient(180deg, #000 72%, transparent 100%); mask: linear-gradient(180deg, #000 72%, transparent 100%); }
.tcg--fullart .tcg-biseau { display: none; }
.tcg--fullart .tcg-cout { left: 6cqw; top: 5cqw; width: auto; height: auto; }
.tcg--fullart .tcg-cout__valeur { position: static; width: auto; height: auto; display: block; font-size: 8cqw;
    text-shadow: 0 .3cqw .2cqw rgba(0, 0, 0, .55), 0 0 2.4cqw rgba(0, 0, 0, .65), 0 0 .8cqw rgba(0, 0, 0, .5); }

/* ================================================================ full art (v3)
 * Fixes sur la carte : le contour intérieur, la référence, le numéro, le liseré. L'image de
 * fond, un peu plus grande que la carte, se décale à l'opposé de l'inclinaison (parallaxe) ;
 * les textes flottent au-dessus, le nom le plus haut. */

/* L'identifiant et le numéro, à l'intérieur du contour. */
.tcg--fullart .tcg-ident { right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart .tcg-numero, .tcg--fullart .tcg-numero--gauche { bottom: 4.4cqw !important; }
.tcg--fullart .tcg-numero--gauche { left: 5.4cqw !important; right: auto !important; }

/* Les informations juste sous l'image ; le liseré des cartes normales (sa cassure, son
 * fondu de gauche à droite) les sépare de l'image ; pas de grille de cadre. */
.tcg--fullart .tcg-face--avant .tcg-zone { top: 92cqw !important; bottom: 0 !important; padding: 0 6.4cqw 11cqw !important; justify-content: flex-start; z-index: 3; overflow: visible; }
.tcg--fullart .tcg-zone .tcg-liseret { display: block !important; top: -4.4cqw; left: -6.4cqw; right: 0; filter: drop-shadow(0 .2cqw .4cqw rgba(0, 0, 0, .5)); }
.tcg--fullart .tcg-motif { display: none; }

/* Le fond en parallaxe : le prolongement (--fa-prolonge) et l'image, 10 % plus grands. */
.tcg--fullart .tcg-face--avant { background: linear-gradient(180deg, var(--fa-haut, #3a2f45), var(--fa-bas, #241d2c)); }
.tcg-fa-fond { position: absolute; z-index: 0; left: -5cqw; top: -5cqw; width: 110cqw; height: calc(110cqw * 88 / 63); pointer-events: none;
    background: var(--fa-prolonge, none) 0 0 / 100% 100% no-repeat; }
.tcg-carte.tcg--fullart .tcg-face--avant .tcg-illu { left: -5cqw; right: auto; top: -5cqw; width: 110cqw; z-index: 1; }
.tcg-fa-fond, .tcg-carte.tcg--fullart .tcg-face--avant .tcg-illu { translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fullart .tcg-face--avant::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
    background: linear-gradient(180deg, transparent 84cqw, rgba(0, 0, 0, .22) 98cqw, rgba(0, 0, 0, .5) 110cqw, rgba(0, 0, 0, .74) 122cqw, rgba(0, 0, 0, .9) 132cqw, rgba(0, 0, 0, .95) 100%); }

/* Le contour (rare et plus), dans l'esprit des cartes normales : deux segments à la couleur
 * de la rareté, qui partent du coin haut gauche et s'estompent vers le coin bas droit ;
 * un second, plus fin, juste à l'intérieur pour la légendaire. */
.tcg-fa-cadre { position: absolute; inset: 2.6cqw; z-index: 6; pointer-events: none; }
.tcg-fa-cadre i { position: absolute; inset: 0; box-sizing: border-box; border: 0 solid var(--liseret); border-radius: 2.4cqw;
    filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) drop-shadow(0 .2cqw .3cqw rgba(0, 0, 0, .5)); }
.tcg-fa-cadre__haut { border-top-width: .55cqw !important; border-right-width: .55cqw !important;
    -webkit-mask: linear-gradient(90deg, transparent 2cqw, #000 14cqw), linear-gradient(180deg, #000 50%, transparent 96%); -webkit-mask-composite: source-in;
    mask: linear-gradient(90deg, transparent 2cqw, #000 14cqw), linear-gradient(180deg, #000 50%, transparent 96%); mask-composite: intersect; }
.tcg-fa-cadre__bas { border-left-width: .55cqw !important; border-bottom-width: .55cqw !important;
    -webkit-mask: linear-gradient(180deg, transparent 2cqw, #000 16cqw), linear-gradient(90deg, #000 45%, transparent 92%); -webkit-mask-composite: source-in;
    mask: linear-gradient(180deg, transparent 2cqw, #000 16cqw), linear-gradient(90deg, #000 45%, transparent 92%); mask-composite: intersect; }
.tcg-fa-cadre--2 { inset: 3.9cqw; }
.tcg-fa-cadre--2 i { border-width: 0; border-radius: 1.6cqw; }
.tcg-fa-cadre--2 .tcg-fa-cadre__haut { border-top-width: .3cqw !important; border-right-width: .3cqw !important; }
.tcg-fa-cadre--2 .tcg-fa-cadre__bas { border-left-width: .3cqw !important; border-bottom-width: .3cqw !important; }

/* Les textes en relief (ils flottent : décalage avec l'inclinaison, ombre à l'opposé). */
.tcg--fullart { --rx: calc(var(--tcg-tx, 0) * 1cqw); --ry: calc(var(--tcg-ty, 0) * 1cqw); }
.tcg--fullart .tcg-texte { translate: calc(var(--rx) * 1) calc(var(--ry) * 1); }
.tcg--fullart .tcg-tags { translate: calc(var(--rx) * 1.2) calc(var(--ry) * 1.2); }
.tcg--fullart .tcg-cout { translate: calc(var(--rx) * 1.3) calc(var(--ry) * 1.3); }
.tcg--fullart .tcg-puissance { translate: calc(var(--rx) * 1.5) calc(var(--ry) * 1.5); }
.tcg--fullart .tcg-nom { translate: calc(var(--rx) * 1.8) calc(var(--ry) * 1.8); }
.tcg--fullart .tcg-texte, .tcg--fullart .tcg-tags, .tcg--fullart .tcg-cout, .tcg--fullart .tcg-puissance, .tcg--fullart .tcg-nom { transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg-carte.is-suit.tcg--fullart .tcg-texte, .tcg-carte.is-suit.tcg--fullart .tcg-tags, .tcg-carte.is-suit.tcg--fullart .tcg-cout,
.tcg-carte.is-suit.tcg--fullart .tcg-puissance, .tcg-carte.is-suit.tcg--fullart .tcg-nom,
.tcg-carte.is-suit .tcg-fa-fond, .tcg-carte.is-suit.tcg--fullart .tcg-face--avant .tcg-illu { transition: none; }
.tcg--fullart .tcg-tags, .tcg--fullart .tcg-texte, .tcg--fullart:not(.tcg--legendaire) .tcg-nom {
    text-shadow: calc(var(--rx) * -.7) calc(.35cqw + var(--ry) * -.7) .9cqw rgba(0, 0, 0, .65); }
/* Les textes métallisés gardent exactement le rendu des cartes normales (pas d'ombre de texte
 * par-dessus le métal : une ombre portée en filtre, sous le texte). */
.tcg--fullart.tcg--epique .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-nom {
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(calc(var(--rx) * -.7) calc(.35cqw + var(--ry) * -.7) .5cqw rgba(0, 0, 0, .7)); }

/* Légendaire : la puissance prend le même or que le nom. */
.tcg--legendaire .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(100deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 220% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
/* Le --brille des full art redevient celui des cartes normales. */
.tcg--fullart.tcg--epique, .tcg--fullart.tcg--legendaire { --brille: var(--rarete-encre); }
/* Full art métal (noir et blanc) : le prolongement et le fond passent aussi en gris, sinon la
 * couleur d'origine réapparaît entre l'image et le dégradé. */
.tcg--fullart.tcg--holo-nb .tcg-fa-fond { filter: grayscale(1) contrast(1.5) brightness(.86); }
.tcg--fullart.tcg--holo-nb .tcg-face--avant { background: linear-gradient(180deg, #2a2a2c, #111113); }

/* Le contour full art, en plus : un filet sombre juste à l'intérieur (comme gravé dans la
 * carte) et un éclat de lumière qui court sur le métal en suivant l'inclinaison. */
.tcg-fa-cadre i { box-shadow: inset 0 0 0 .22cqw rgba(0, 0, 0, .45), 0 0 0 .18cqw rgba(0, 0, 0, .3); }
.tcg-fa-cadre::after { content: ""; position: absolute; inset: 0; border: .55cqw solid #fff; border-radius: 2.4cqw; opacity: 0; transition: opacity .3s;
    -webkit-mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, transparent 22%);
    mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, transparent 22%);
    filter: drop-shadow(0 0 .8cqw #fff); }
.tcg-fa-cadre--2::after { border-width: .3cqw; border-radius: 1.6cqw; }
.tcg-carte.is-suit .tcg-fa-cadre::after { opacity: .85; }

/* ================================================================ full art (v4) : liseré et contour d'une seule pièce
 * Le liseré part du trait gauche du contour (même épaisseur, même couleur, même lueur) et
 * s'efface avant le bord droit : contour et liseré forment un seul tracé, sans se croiser.
 * L'holo passe sous les informations, comme sur les cartes normales ; les textes dorés
 * gardent exactement le rendu des cartes normales. */
.tcg--fullart .tcg-face--avant .tcg-zone { z-index: 4; }
.tcg--fullart .tcg-zone .tcg-liseret { left: 4.4cqw !important; right: 4.4cqw !important; top: -4.4cqw;
    clip-path: polygon(0 0, 58% 0, calc(58% + 6cqw) 5cqw, 100% 5cqw, 100% 5.55cqw, calc(58% + 5.78cqw) 5.55cqw, calc(58% - .22cqw) .55cqw, 0 .55cqw);
    filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)); }
.tcg--fullart.tcg--commune .tcg-zone .tcg-liseret { left: 4.4cqw !important; right: 4.4cqw !important; }
.tcg--fullart.tcg--epique .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-nom {
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .14cqw .06cqw rgba(30, 20, 10, .4)); }
/* L'ombre de texte de la zone (héritée) ternissait le métal : retirée sur les textes métallisés. */
.tcg--fullart.tcg--epique .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-nom { text-shadow: none !important; }

/* Full art : le nom garde la même limite de largeur que sur les cartes normales (il
 * rapetisse au lieu de passer sous la cassure du liseré). */
.tcg--fullart .tcg-entete .tcg-nom { max-width: 49cqw; }

/* Full art holo / métal : le badge de finition, rond, en haut à droite. Son disque reprend
 * l'effet de la finition (arc-en-ciel pour HL, métal brossé pour MT) et renvoie la lumière
 * selon l'inclinaison ; les lettres sont en relief (embossées). */
.tcg-finition { position: absolute; z-index: 6; top: 5.2cqw; right: 5.6cqw; width: 10.5cqw; aspect-ratio: 1; border-radius: 50%; pointer-events: none;
    display: grid; place-items: center; overflow: hidden;
    box-shadow: 0 .5cqw 1.2cqw rgba(0, 0, 0, .55), inset 0 .35cqw .4cqw rgba(255, 255, 255, .55), inset 0 -.35cqw .5cqw rgba(0, 0, 0, .45), 0 0 0 .3cqw rgba(0, 0, 0, .35);
    translate: calc(var(--rx, 0px) * 1.3) calc(var(--ry, 0px) * 1.3); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg-carte.is-suit .tcg-finition { transition: none; }
.tcg-finition::before { content: ""; position: absolute; inset: -30%; border-radius: 50%; }
.tcg-finition--hl::before { background: conic-gradient(from calc(var(--tcg-tx, 0) * 120deg), #ff5c8a, #ffd25c, #6dffb8, #5cc8ff, #a77bff, #ff5c8a); filter: saturate(.85) brightness(1.05); }
.tcg-finition--mt::before { background:
    repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .12) 0 .25cqw, transparent .25cqw .6cqw),
    conic-gradient(from calc(var(--tcg-tx, 0) * 120deg), #8d9298, #f2f4f6, #9aa0a6, #e3e6ea, #7d8288, #f6f7f8, #8d9298); }
/* Le reflet qui suit la lumière. */
.tcg-finition::after { content: ""; position: absolute; inset: 0; border-radius: 50%;
    background: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), rgba(255, 255, 255, .7), transparent 55%);
    mix-blend-mode: soft-light; }
.tcg-finition b { position: relative; z-index: 1; font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif; letter-spacing: .02em;
    color: rgba(255, 255, 255, .25);
    text-shadow: -.12cqw -.12cqw .05cqw rgba(255, 255, 255, .8), .14cqw .16cqw .1cqw rgba(0, 0, 0, .55); }
.tcg-finition--mt b { color: rgba(60, 64, 70, .25); }

/* ================================================================ full art : le relief de l'image
 * Les plans (même image, masquée par la profondeur) glissent plus que le fond : le plan moyen
 * un peu, le premier plan davantage ; le premier plan est très légèrement agrandi pour couvrir
 * les bords qui se découvrent. */
.tcg-plan { position: absolute; inset: 0; pointer-events: none; background: var(--tcg-img, none) center / cover no-repeat;
    -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg-plan--milieu { translate: calc(var(--rx, 0px) * 1.3) calc(var(--ry, 0px) * 1.3); scale: 1.02; }
.tcg-plan--devant { translate: calc(var(--rx, 0px) * 2.8) calc(var(--ry, 0px) * 2.8); scale: 1.04; filter: drop-shadow(calc(var(--rx, 0px) * -.5) calc(var(--ry, 0px) * -.5 + .3cqw) .8cqw rgba(0, 0, 0, .35)); }
.tcg-carte.is-suit .tcg-plan { transition: none; }
.tcg--holo-nb .tcg-plan { filter: grayscale(1) contrast(1.5) brightness(.86); }

/* Le badge de finition est un autocollant : fixe sur l'image (pas de relief), penché et
 * abîmé (script : angle, manques sur le bord), avec un liseré blanc de découpe, de fines
 * rayures, et un côté qui se décolle (ombre plus marquée d'un côté, reflet sur le bord). */
.tcg-finition { translate: none !important; border: .55cqw solid #f4f1ea; box-sizing: border-box; width: 11.5cqw;
    -webkit-mask-composite: source-in; mask-composite: intersect;
    box-shadow: inset 0 0 0 .1cqw rgba(0, 0, 0, .15); filter: drop-shadow(.25cqw .45cqw .35cqw rgba(0, 0, 0, .55)); }
.tcg-finition b { text-shadow: -.1cqw -.1cqw .04cqw rgba(255, 255, 255, .75), .12cqw .14cqw .08cqw rgba(0, 0, 0, .5); }
/* Les rayures et l'usure de l'autocollant, et le bord qui se décolle (plus clair, ombré). */
.tcg-finition b::before { content: ""; position: absolute; inset: -8cqw; z-index: -1; pointer-events: none;
    background: repeating-linear-gradient(32deg, transparent 0 1.1cqw, rgba(255, 255, 255, .28) 1.1cqw 1.2cqw, transparent 1.2cqw 2.6cqw),
                repeating-linear-gradient(-58deg, transparent 0 1.7cqw, rgba(0, 0, 0, .18) 1.7cqw 1.78cqw, transparent 1.78cqw 3.4cqw);
    mix-blend-mode: overlay; }
.tcg-finition::after { background:
    linear-gradient(var(--decolle, 30deg), rgba(255, 255, 255, .55) 0 8%, rgba(0, 0, 0, .25) 11%, transparent 22%),
    radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), rgba(255, 255, 255, .7), transparent 55%); }

/* Le fond reconstruit (sous le sujet) ne bouge pas plus que l'image ; le badge de finition est retiré. */
.tcg-plan--fond { translate: none; }
.tcg-finition { display: none !important; }

/* ================================================================ relief (v2)
 * Deux plans : le fond recule davantage, le sujet avance nettement et passe au-dessus du
 * contour (mais sous les textes). Ordre des calques d'un full art en relief : fond, image,
 * voile sombre, contour, sujet, holo, informations, coût, reflets. */
.tcg--relief .tcg-fa-fond, .tcg-carte.tcg--relief .tcg-face--avant .tcg-illu { translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); }
.tcg-sujet { position: absolute; left: -5cqw; top: -5cqw; width: 110cqw; aspect-ratio: 1; z-index: 5; pointer-events: none;
    translate: calc(var(--rx) * -.35) calc(var(--ry) * -.35); transition: translate .5s cubic-bezier(.2, .8, .2, 1);
    -webkit-mask: linear-gradient(180deg, #000 72%, transparent 100%); mask: linear-gradient(180deg, #000 72%, transparent 100%); }
.tcg-carte.is-suit .tcg-sujet { transition: none; }
.tcg-sujet .tcg-plan--devant { translate: none; scale: 1.03; filter: drop-shadow(calc(var(--rx) * -.6) calc(.4cqw + var(--ry) * -.6) 1cqw rgba(0, 0, 0, .45)); }
.tcg--holo-nb .tcg-sujet .tcg-plan--devant { filter: grayscale(1) contrast(1.5) brightness(.86) drop-shadow(calc(var(--rx) * -.6) calc(.4cqw + var(--ry) * -.6) 1cqw rgba(0, 0, 0, .45)); }
.tcg--relief .tcg-fa-cadre { z-index: 4; }
.tcg--relief .tcg-holo { z-index: 6 !important; }
.tcg--relief .tcg-face--avant .tcg-zone { z-index: 7 !important; }
.tcg--relief .tcg-cout { z-index: 8; }
.tcg--relief .tcg-reflet, .tcg--relief .tcg-rayures-eclat { z-index: 9; }

/* ================================================================ relief (v3) : quatre plans
 * Le fond (l'image elle-même + son bouchage), le plan moyen, le sujet, et le plus proche
 * (au-dessus du contour). Chaque plan : un bouchage basse définition dessous, ses pixels en
 * pleine définition dessus. Décalages modérés, du plus loin au plus proche. */
.tcg-plan { background: none !important; -webkit-mask: none !important; mask: none !important; filter: none !important; scale: 1 !important; }
.tcg-plan__partie { position: absolute; inset: 0; background: center / cover no-repeat;
    -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.tcg-plan__partie--image { background-image: var(--tcg-img, none); }
.tcg-plan--fond { translate: none !important; }
.tcg-plan--milieu { translate: calc(var(--rx, 0px) * .55) calc(var(--ry, 0px) * .55) !important; }
.tcg-plan--sujet { translate: calc(var(--rx, 0px) * 1.25) calc(var(--ry, 0px) * 1.25) !important; }
.tcg-sujet { translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6) !important; }
.tcg-plan--proche { translate: calc(var(--rx, 0px) * 1.9) calc(var(--ry, 0px) * 1.9) !important; scale: 1.02 !important;
    filter: drop-shadow(calc(var(--rx) * -.5) calc(.3cqw + var(--ry) * -.5) .8cqw rgba(0, 0, 0, .4)) !important; }
.tcg--holo-nb .tcg-plan__partie { filter: grayscale(1) contrast(1.5) brightness(.86); }

/* Chaque élément d'un plan est très légèrement agrandi depuis son propre centre : en bougeant,
 * il couvre encore la place qu'il occupait. Le plus proche est un peu plus agrandi (il bouge
 * le plus). Le sujet, au-dessus du contour, est opaque : plus de fondu en bas qui laissait
 * voir le contour à travers. */
.tcg-plan--milieu .tcg-plan__partie--element { scale: 1.03; }
.tcg-plan--sujet .tcg-plan__partie--element { scale: 1.05; }
.tcg-plan--proche .tcg-plan__partie--element { scale: 1.07; }
.tcg-plan--proche { scale: 1 !important; }
.tcg-sujet { -webkit-mask: linear-gradient(180deg, #000 86%, transparent 100%) !important; mask: linear-gradient(180deg, #000 86%, transparent 100%) !important; }

/* Relief (v4) : agrandissement des éléments plus discret ; le sujet passe aussi au-dessus
 * du liseré central. La zone d'informations ne forme plus un bloc : le liseré reste sous le
 * sujet, les textes au-dessus. */
.tcg-plan--milieu .tcg-plan__partie--element { scale: 1.015; }
.tcg-plan--sujet .tcg-plan__partie--element { scale: 1.025; }
.tcg--relief .tcg-face--avant .tcg-zone { z-index: auto !important; }
.tcg--relief .tcg-zone .tcg-liseret { z-index: 4 !important; }
.tcg--relief .tcg-entete, .tcg--relief .tcg-texte { position: relative; z-index: 7; }
.tcg--relief .tcg-ident, .tcg--relief .tcg-numero { z-index: 7 !important; }

/* ================================================================ full art : vernis sélectif
 * Les trois ne se voient que sous la lumière (carte inclinée, .is-suit). */
.tcg-fa-vernis { position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: 0; transition: opacity .35s; }
/* Le vernis : un reflet en bande qui ne passe que sur les zones claires de l'image. */
.tcg-fa-vernis { mix-blend-mode: screen;
    background: linear-gradient(110deg, transparent 36%, rgba(255, 255, 255, .5) 47%, rgba(255, 255, 255, .7) 50%, rgba(255, 255, 255, .5) 53%, transparent 64%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% no-repeat;
    -webkit-mask: var(--fa-vernis, none) center / cover no-repeat; mask: var(--fa-vernis, none) center / cover no-repeat; }
.tcg-carte.tcg--grave.is-suit .tcg-fa-vernis { opacity: .75; }


/* Full art : le liseré reprend sa largeur d'origine (du bord gauche de la carte jusqu'à la
 * droite de la zone) et passe au-dessus du contour intérieur. La zone ne forme plus un bloc :
 * le liseré monte au-dessus du contour, les textes restent au-dessus de l'holo. */
.tcg--fullart .tcg-face--avant .tcg-zone { z-index: auto !important; }
.tcg--fullart .tcg-zone .tcg-liseret,
.tcg--fullart.tcg--commune .tcg-zone .tcg-liseret { left: -6.4cqw !important; right: 0 !important; z-index: 7 !important; }
.tcg--fullart .tcg-entete, .tcg--fullart .tcg-texte { position: relative; z-index: 5; }
.tcg--fullart .tcg-ident, .tcg--fullart .tcg-numero { z-index: 5 !important; }
/* Avec le relief : contour, puis liseré, puis le sujet par-dessus. */
.tcg--relief .tcg-fa-cadre { z-index: 3 !important; }
.tcg--relief .tcg-zone .tcg-liseret { z-index: 4 !important; }
.tcg--relief .tcg-entete, .tcg--relief .tcg-texte, .tcg--relief .tcg-ident, .tcg--relief .tcg-numero { z-index: 7 !important; }

/* Vernis sélectif accentué : un léger lustre permanent sous la lumière, et un reflet plus
 * large et plus vif, doublé d'un second plus fin qui le suit. */
.tcg-fa-vernis { mix-blend-mode: screen;
    background:
        linear-gradient(110deg, transparent 40%, rgba(255, 255, 255, .55) 49%, rgba(255, 255, 255, .55) 50.5%, transparent 58%) calc((1 - var(--tcg-px, .5)) * 130% - 15%) 0 / 300% 100% no-repeat,
        linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .7) 44%, #fff 50%, rgba(255, 255, 255, .7) 56%, transparent 70%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% no-repeat,
        radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), rgba(255, 255, 255, .35), rgba(255, 255, 255, .08) 45%, transparent 70%); }
.tcg-carte.tcg--grave.is-suit .tcg-fa-vernis { opacity: .9; }

/* Full art : le contour intérieur n'est visible que sous la lumière, comme une dorure à
 * chaud. Au repos, il est invisible ; en inclinant, il apparaît autour de la tache de lumière. */
.tcg-fa-cadre { opacity: 0; transition: opacity .35s;
    -webkit-mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, rgba(0, 0, 0, .6) 25%, transparent 55%);
    mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, rgba(0, 0, 0, .6) 25%, transparent 55%); }
.tcg-carte.is-suit .tcg-fa-cadre { opacity: 1; }
.tcg-fa-cadre i { border-color: color-mix(in srgb, var(--liseret) 75%, #fff); }

/* ================================================================ full art : le liseré
 * Le même trait qu'avant, en métal thermocollé : brossé, avec un reflet qui glisse selon
 * l'inclinaison (comme la puissance). Il s'efface toujours de gauche à droite. */
.tcg--fullart .tcg-zone .tcg-liseret {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-mask: linear-gradient(90deg, #000, rgba(0, 0, 0, .65) 40%, transparent 90%);
    mask: linear-gradient(90deg, #000, rgba(0, 0, 0, .65) 40%, transparent 90%); }
.tcg--fullart.tcg--legendaire .tcg-zone .tcg-liseret {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(100deg, #8a5a08 0%, #c9971f 22%, #ffe39a 40%, #d7a530 55%, #9a6a0c 78%, #c9971f 100%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 220% 100% !important; }
.tcg--fullart.tcg--holo-nb .tcg-zone .tcg-liseret { filter: grayscale(1) contrast(1.3) brightness(1.15) drop-shadow(0 0 .8cqw rgba(255, 255, 255, .3)); }



/* Full art : un fin filet sur le pourtour même de la carte, en métal brossé (couleur de la rareté,
 * or pour la légendaire), avec un reflet qui glisse selon l'inclinaison. */
.tcg-fa-filet { position: absolute; inset: 0; z-index: 8; pointer-events: none; border-radius: 4.5cqw; padding: .45cqw; box-sizing: border-box;
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .16) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    opacity: .95; }
.tcg--legendaire .tcg-fa-filet { background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .16) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(100deg, #8a5a08 0%, #c9971f 22%, #ffe39a 40%, #d7a530 55%, #9a6a0c 78%, #c9971f 100%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 220% 100%; }
.tcg--holo-nb .tcg-fa-filet { filter: grayscale(1) contrast(1.3) brightness(1.15); }

/* ================================================================ sans effet 3D
 * Toutes les versions des full art. Les textes ne flottent plus et leurs ombres sont fixes : seul le fond (image et
 * prolongement) bouge en parallaxe avec l'inclinaison. */
.tcg--fullart .tcg-texte, .tcg--fullart .tcg-tags, .tcg--fullart .tcg-cout, .tcg--fullart .tcg-puissance, .tcg--fullart .tcg-nom { translate: none !important; }
.tcg--fullart .tcg-tags, .tcg--fullart .tcg-texte, .tcg--fullart:not(.tcg--legendaire) .tcg-nom { text-shadow: 0 .35cqw .9cqw rgba(0, 0, 0, .65); }
.tcg--fullart.tcg--epique .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-puissance, .tcg--fullart.tcg--legendaire .tcg-nom {
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .35cqw .5cqw rgba(0, 0, 0, .7)); }
.tcg--fullart .tcg-cout__valeur { text-shadow: 0 .3cqw .2cqw rgba(0, 0, 0, .55), 0 0 2.4cqw rgba(0, 0, 0, .65), 0 0 .8cqw rgba(0, 0, 0, .5); }

/* ================================================================ FULL ART — VERSION 2 (titre vertical)
 * Toutes les règles ci-dessous ne s'appliquent qu'aux cartes .tcg--fa2. */
/* ================================================================ full art : nouvelle disposition
 * - le titre, en grand et en italique, à la verticale le long du bord gauche (lu de bas en
 *   haut), en double : un contour à la couleur de la rareté, nettement décalé (et plus encore
 *   avec l'inclinaison), sous le nom plein ;
 * - la grille des épiques et légendaires (révélée par la lumière), comme sur les autres cartes ;
 * - en bas : les tags, le descriptif, puis le coût et la puissance précédés de leur nom. */
@font-face { font-family: "TCG Barlow Condensed"; src: url("tcg-barlow-condensed-800-italic.woff2") format("woff2"); font-weight: 800; font-style: italic; font-display: swap; }
.tcg--fa2 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg-carte.tcg--fa2.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa2.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg--fa2 .tcg-fa-titre .tcg-nom, .tcg--fa2 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa2 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fullart.tcg--fa2:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa2 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa2.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
/* Le contour : décalé de 1,4 cqw en bas à droite à plat, et à l'opposé de l'inclinaison
 * (le titre est tourné : ses axes sont permutés). */
.tcg--fa2 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
/* Le voile de lecture, le long du bord gauche. */
.tcg--fa2 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
/* La grille des autres cartes, révélée par la lumière, ici par-dessus l'image. */
.tcg--fullart.tcg--fa2 .tcg-motif { display: none !important; }
/* La zone du bas : les tags, puis le descriptif ; le coût et la puissance en pied de zone. */
.tcg--fullart.tcg--fa2 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa2 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa2 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
/* La zone descend : sans le nom, elle a moins de lignes ; l'image gagne en hauteur. */
.tcg--fullart.tcg--fa2 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
/* Full art (v3) : le nom plein — doré pour la légendaire, métal de la rareté pour l'épique —
 * sous son contour blanc décalé ; les tags sous le nom, dans le titre vertical. */
.tcg--fullart.tcg--fa2.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa2.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fa2 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
/* La zone ne garde que le descriptif. */
.tcg--fullart.tcg--fa2 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa2 .tcg-texte { margin-top: 1.6cqw; }
/* La puissance, en italique, au-dessus du liseré, dans sa partie basse (à droite de la cassure). */
.tcg--fullart.tcg--fa2 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
/* ================================================================ full art : la bande holographique
 * Une bande verticale en holo métallisé, sur toute la hauteur, à droite (pas au bord). Base
 * argent brossé, irisation qui glisse avec l'inclinaison, et un texte répété, gravé dans le
 * métal (plus sombre), qui défile de haut en bas. */
.tcg--fa2 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa2 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa2.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }

/* ================================================================ FULL ART — VERSION 1 (d'origine)
 * Le contour intérieur d'origine : deux segments à la couleur de la rareté (doublés pour la
 * légendaire), toujours visibles, avec l'éclat qui suit la lumière. Pas de filet de bord. */
.tcg--fa1 .tcg-fa-cadre { opacity: 1 !important; -webkit-mask: none !important; mask: none !important; }
.tcg--fa1 .tcg-fa-cadre i { border-color: var(--liseret) !important; }

/* ================================================================ FULL ART — VERSION 3 (travail, copie de la V2)
 * Toutes les règles ci-dessous ne s'appliquent qu'aux cartes .tcg--fa3. */
/* ================================================================ full art : nouvelle disposition
 * - le titre, en grand et en italique, à la verticale le long du bord gauche (lu de bas en
 *   haut), en double : un contour à la couleur de la rareté, nettement décalé (et plus encore
 *   avec l'inclinaison), sous le nom plein ;
 * - la grille des épiques et légendaires (révélée par la lumière), comme sur les autres cartes ;
 * - en bas : les tags, le descriptif, puis le coût et la puissance précédés de leur nom. */
.tcg--fa3 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa6 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa7 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa9 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa10 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa4 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa5 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa8 .tcg-fa-titre { position: absolute; z-index: 7; left: 3.2cqw; top: 84.5cqw; width: 67cqw; height: 21cqw; pointer-events: none;
    transform-origin: 0 0; transform: rotate(-90deg);
    translate: calc(var(--rx, 0px) * 1.8) calc(var(--ry, 0px) * 1.8); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg-carte.tcg--fa3.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa3.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg-carte.tcg--fa6.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa6.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg-carte.tcg--fa7.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa7.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg-carte.tcg--fa9.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa9.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg-carte.tcg--fa10.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa10.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg-carte.tcg--fa4.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa4.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg-carte.tcg--fa5.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa5.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg-carte.tcg--fa8.is-suit .tcg-fa-titre, .tcg-carte.tcg--fa8.is-suit .tcg-fa-titre__contour { transition: none; }
.tcg--fa3 .tcg-fa-titre .tcg-nom, .tcg--fa3 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa6 .tcg-fa-titre .tcg-nom, .tcg--fa6 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa7 .tcg-fa-titre .tcg-nom, .tcg--fa7 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa9 .tcg-fa-titre .tcg-nom, .tcg--fa9 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa10 .tcg-fa-titre .tcg-nom, .tcg--fa10 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa4 .tcg-fa-titre .tcg-nom, .tcg--fa4 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa5 .tcg-fa-titre .tcg-nom, .tcg--fa5 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa8 .tcg-fa-titre .tcg-nom, .tcg--fa8 .tcg-fa-titre__contour { position: absolute; left: 0; top: 0; width: 100% !important; max-width: none !important; margin: 0; padding-right: 2cqw; box-sizing: border-box;
    font: italic 800 15cqw/1.05 "TCG Barlow Condensed", "TCG Barlow", sans-serif; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: clip; text-align: left; }
.tcg--fa3 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fa6 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fa7 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fa9 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fa10 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fa4 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fa5 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fa8 .tcg-fa-titre .tcg-nom { translate: none !important; }
.tcg--fullart.tcg--fa3:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa6:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa7:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa9:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa10:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa4:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa5:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa8:not(.tcg--legendaire) .tcg-fa-titre .tcg-nom { color: #fff; }
.tcg--fullart.tcg--fa3 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa6 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa7 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa9 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa10 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa4 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa5 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa8 .tcg-fa-titre .tcg-nom { text-shadow: none !important; filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa3.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa6.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa7.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa9.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa10.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa4.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa5.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
.tcg--fullart.tcg--fa8.tcg--legendaire .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)); }
/* Le contour : décalé de 1,4 cqw en bas à droite à plat, et à l'opposé de l'inclinaison
 * (le titre est tourné : ses axes sont permutés). */
.tcg--fa3 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa6 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa7 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa9 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa10 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa4 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa5 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa8 .tcg-fa-titre__contour { color: transparent; -webkit-text-stroke: .22cqw #fff; overflow: visible;
    translate: calc(-1.4cqw + var(--ry, 0px) * 1.6) calc(1.4cqw - var(--rx, 0px) * 1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
/* Le voile de lecture, le long du bord gauche. */
.tcg--fa3 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
.tcg--fa6 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
.tcg--fa7 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
.tcg--fa9 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
.tcg--fa10 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
.tcg--fa4 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
.tcg--fa5 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
.tcg--fa8 .tcg-fa-voile { position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 36cqw; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .18) 55%, transparent); }
/* La grille des autres cartes, révélée par la lumière, ici par-dessus l'image. */
.tcg--fullart.tcg--fa3 .tcg-motif { display: none !important; }
.tcg--fullart.tcg--fa6 .tcg-motif { display: none !important; }
.tcg--fullart.tcg--fa7 .tcg-motif { display: none !important; }
.tcg--fullart.tcg--fa9 .tcg-motif { display: none !important; }
.tcg--fullart.tcg--fa10 .tcg-motif { display: none !important; }
.tcg--fullart.tcg--fa4 .tcg-motif { display: none !important; }
.tcg--fullart.tcg--fa5 .tcg-motif { display: none !important; }
.tcg--fullart.tcg--fa8 .tcg-motif { display: none !important; }
/* La zone du bas : les tags, puis le descriptif ; le coût et la puissance en pied de zone. */
.tcg--fullart.tcg--fa3 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa6 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa7 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa9 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa10 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa4 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa5 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa8 .tcg-entete__titres { min-height: 0; }
.tcg--fullart.tcg--fa3 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa6 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa7 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa9 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa10 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa4 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa5 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa8 .tcg-tags { font-size: 3cqw; letter-spacing: .24em; text-transform: uppercase; color: color-mix(in srgb, var(--liseret) 55%, #fff); opacity: .95; margin-top: 1cqw; }
.tcg--fullart.tcg--fa3 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
.tcg--fullart.tcg--fa6 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
.tcg--fullart.tcg--fa7 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
.tcg--fullart.tcg--fa9 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
.tcg--fullart.tcg--fa10 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
.tcg--fullart.tcg--fa4 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
.tcg--fullart.tcg--fa5 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
.tcg--fullart.tcg--fa8 .tcg-texte { text-align: left; font-size: 3.7cqw; line-height: 1.35; max-width: 100%; }
/* La zone descend : sans le nom, elle a moins de lignes ; l'image gagne en hauteur. */
.tcg--fullart.tcg--fa3 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-face--avant .tcg-zone { top: 92cqw !important; padding-top: 1.4cqw !important; }
/* Full art (v3) : le nom plein — doré pour la légendaire, métal de la rareté pour l'épique —
 * sous son contour blanc décalé ; les tags sous le nom, dans le titre vertical. */
.tcg--fullart.tcg--fa3.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa6.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa7.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa9.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa10.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa4.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa5.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa8.tcg--epique .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--fa3.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fullart.tcg--fa6.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fullart.tcg--fa7.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fullart.tcg--fa9.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fullart.tcg--fa10.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fullart.tcg--fa4.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fullart.tcg--fa5.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fullart.tcg--fa8.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: grayscale(1) contrast(1.2) brightness(1.2) drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)); }
.tcg--fa3 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
.tcg--fa6 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
.tcg--fa7 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
.tcg--fa9 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
.tcg--fa10 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
.tcg--fa4 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
.tcg--fa5 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
.tcg--fa8 .tcg-fa-titre .tcg-tags { position: absolute; left: .4cqw; top: 16.2cqw; right: 0; margin: 0; translate: none !important;
    font: 700 3cqw/1 "TCG Barlow", sans-serif; letter-spacing: .26em; text-transform: uppercase; text-align: left;
    color: color-mix(in srgb, var(--liseret) 50%, #fff); opacity: .95; text-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .7) !important; }
/* La zone ne garde que le descriptif. */
.tcg--fullart.tcg--fa3 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa6 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa7 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa9 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa10 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa4 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa5 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa8 .tcg-entete { display: none !important; }
.tcg--fullart.tcg--fa3 .tcg-texte { margin-top: 1.6cqw; }
.tcg--fullart.tcg--fa6 .tcg-texte { margin-top: 1.6cqw; }
.tcg--fullart.tcg--fa7 .tcg-texte { margin-top: 1.6cqw; }
.tcg--fullart.tcg--fa9 .tcg-texte { margin-top: 1.6cqw; }
.tcg--fullart.tcg--fa10 .tcg-texte { margin-top: 1.6cqw; }
.tcg--fullart.tcg--fa4 .tcg-texte { margin-top: 1.6cqw; }
.tcg--fullart.tcg--fa5 .tcg-texte { margin-top: 1.6cqw; }
.tcg--fullart.tcg--fa8 .tcg-texte { margin-top: 1.6cqw; }
/* La puissance, en italique, au-dessus du liseré, dans sa partie basse (à droite de la cassure). */
.tcg--fullart.tcg--fa3 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
.tcg--fullart.tcg--fa6 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
.tcg--fullart.tcg--fa7 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
.tcg--fullart.tcg--fa9 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
.tcg--fullart.tcg--fa10 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
.tcg--fullart.tcg--fa4 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
.tcg--fullart.tcg--fa5 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
.tcg--fullart.tcg--fa8 .tcg-zone > .tcg-puissance { position: absolute; z-index: 7; right: 6.4cqw; top: -15.5cqw; margin: 0;
    font: italic 800 11cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .01em; padding-right: .8cqw; }
/* ================================================================ full art : la bande holographique
 * Une bande verticale en holo métallisé, sur toute la hauteur, à droite (pas au bord). Base
 * argent brossé, irisation qui glisse avec l'inclinaison, et un texte répété, gravé dans le
 * métal (plus sombre), qui défile de haut en bas. */
.tcg--fa3 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa6 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa7 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa9 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa10 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa4 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa5 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa8 .tcg-fa-bande { position: absolute; z-index: 3; top: 0; bottom: 0; right: 9cqw; width: 6.2cqw; pointer-events: none; overflow: hidden;
    background:
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55) 45%, transparent 60%) 0 calc(var(--tcg-ty, 0) * 40% + 50%) / 100% 260% no-repeat,
        repeating-linear-gradient(180deg, #ff3d8b 0, #ffc23d 8%, #3dffb0 16%, #3db4ff 24%, #9a5cff 32%, #ff3d8b 40%) 0 calc(var(--tcg-px, .5) * 140% + var(--tcg-ty, 0) * 30%) / 100% 250%,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #6f757c, #d7dce1 30%, #8e959c 55%, #e3e7eb 80%, #6f757c);
    background-blend-mode: soft-light, overlay, normal, normal;
    opacity: .82; filter: saturate(1.6) brightness(.86) contrast(1.1);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .5), inset -.15cqw 0 0 rgba(0, 0, 0, .35); }
.tcg--fa3 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa6 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa7 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa9 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa10 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa4 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa5 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa8 .tcg-fa-bande__texte { position: absolute; left: 0; right: 0; top: -2cqw; writing-mode: vertical-rl; display: flex; align-items: center;
    font: 800 3.2cqw/1 "TCG Barlow", sans-serif; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: rgba(30, 32, 38, .42); text-shadow: 0 .08cqw 0 rgba(255, 255, 255, .45); }
.tcg--fa3.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }
.tcg--fa6.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }
.tcg--fa7.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }
.tcg--fa9.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }
.tcg--fa10.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }
.tcg--fa4.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }
.tcg--fa5.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }
.tcg--fa8.tcg--holo-nb .tcg-fa-bande { filter: grayscale(1); }


/* ================================================================ sans effet 3D, partout
 * Titre vertical fixe, contour décalé fixe (V2 et V3). */
.tcg--fa2 .tcg-fa-titre, .tcg--fa3 .tcg-fa-titre { translate: none !important; }
.tcg--fa6 .tcg-fa-titre { translate: none !important; }
.tcg--fa7 .tcg-fa-titre { translate: none !important; }
.tcg--fa9 .tcg-fa-titre { translate: none !important; }
.tcg--fa10 .tcg-fa-titre { translate: none !important; }
.tcg--fa4 .tcg-fa-titre { translate: none !important; }
.tcg--fa5 .tcg-fa-titre { translate: none !important; }
.tcg--fa8 .tcg-fa-titre { translate: none !important; }
.tcg--fa2 .tcg-fa-titre__contour, .tcg--fa3 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }
.tcg--fa6 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }
.tcg--fa7 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }
.tcg--fa9 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }
.tcg--fa10 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }
.tcg--fa4 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }
.tcg--fa5 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }
.tcg--fa8 .tcg-fa-titre__contour { translate: -1.4cqw 1.4cqw !important; }

/* ================================================================ V3 : modifications de travail */
/* Le descriptif descend un peu et grandit. */
.tcg--fullart.tcg--fa3 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
.tcg--fullart.tcg--fa6 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
.tcg--fullart.tcg--fa7 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
.tcg--fullart.tcg--fa9 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
.tcg--fullart.tcg--fa10 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
.tcg--fullart.tcg--fa4 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
.tcg--fullart.tcg--fa5 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
.tcg--fullart.tcg--fa8 .tcg-texte { margin-top: 3.4cqw; font-size: 4.3cqw; line-height: 1.32; }
/* La bande de droite : un fil de sécurité de billet de banque — feuille métallisée argent
 * thermocollée, fines stries gaufrées, et quelques reflets irisés (rose, vert d'eau, lilas,
 * bleu ciel) qui glissent avec l'inclinaison. Identique sur toutes les cartes. */
.tcg--fa3 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa6 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa7 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa9 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa10 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa4 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa5 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa8 .tcg-fa-bande { opacity: 1; filter: none !important; mix-blend-mode: normal; background-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 32%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .55) 52%, transparent 68%) 0 calc((1 - var(--tcg-px, .5)) * 100%) / 100% 320% no-repeat,
        linear-gradient(180deg, transparent 0, rgba(255, 140, 200, .38) 10%, rgba(140, 255, 214, .34) 20%, rgba(186, 160, 255, .36) 30%, rgba(140, 210, 255, .34) 40%, transparent 50%) 0 calc(var(--tcg-px, .5) * 120% + var(--tcg-ty, 0) * 25%) / 100% 220%,
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .22) 0 .1cqw, transparent .1cqw .55cqw),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(90deg, #8e959c, #eef1f4 28%, #b4bac0 52%, #f6f7f9 78%, #8e959c);
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .6), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .6cqw rgba(0, 0, 0, .35); }
.tcg--fa3 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }
.tcg--fa6 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }
.tcg--fa7 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }
.tcg--fa9 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }
.tcg--fa10 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }
.tcg--fa4 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }
.tcg--fa5 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }
.tcg--fa8 .tcg-fa-bande__texte { color: rgba(40, 44, 52, .45); }

/* Le liseré descend : le nom vertical gagne de la place et grandit. */
.tcg--fullart.tcg--fa3 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-face--avant .tcg-zone { top: 104cqw !important; }
.tcg--fa3 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa6 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa7 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa9 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa10 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa4 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa5 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa8 .tcg-fa-titre { top: 93cqw !important; width: 75.5cqw !important; height: 25cqw !important; }
.tcg--fa3 .tcg-fa-titre .tcg-nom, .tcg--fa3 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa6 .tcg-fa-titre .tcg-nom, .tcg--fa6 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa7 .tcg-fa-titre .tcg-nom, .tcg--fa7 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa9 .tcg-fa-titre .tcg-nom, .tcg--fa9 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa10 .tcg-fa-titre .tcg-nom, .tcg--fa10 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa4 .tcg-fa-titre .tcg-nom, .tcg--fa4 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa5 .tcg-fa-titre .tcg-nom, .tcg--fa5 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa8 .tcg-fa-titre .tcg-nom, .tcg--fa8 .tcg-fa-titre__contour { font-size: 17.5cqw; }
.tcg--fa3 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }
.tcg--fa6 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }
.tcg--fa7 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }
.tcg--fa9 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }
.tcg--fa10 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }
.tcg--fa4 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }
.tcg--fa5 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }
.tcg--fa8 .tcg-fa-titre .tcg-tags { top: 18.6cqw !important; }

/* La bande fait partie du fond : elle suit la parallaxe de l'image (et dépasse en haut et en
 * bas pour ne jamais laisser de vide). */
.tcg--fa3 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa6 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa7 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa9 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa10 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa4 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa5 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa8 .tcg-fa-bande { top: -6cqw !important; bottom: -6cqw !important; translate: calc(var(--rx) * -1.6) calc(var(--ry) * -1.6); transition: translate .5s cubic-bezier(.2, .8, .2, 1); }
.tcg-carte.tcg--fa3.is-suit .tcg-fa-bande { transition: none; }
.tcg-carte.tcg--fa6.is-suit .tcg-fa-bande { transition: none; }
.tcg-carte.tcg--fa7.is-suit .tcg-fa-bande { transition: none; }
.tcg-carte.tcg--fa9.is-suit .tcg-fa-bande { transition: none; }
.tcg-carte.tcg--fa10.is-suit .tcg-fa-bande { transition: none; }
.tcg-carte.tcg--fa4.is-suit .tcg-fa-bande { transition: none; }
.tcg-carte.tcg--fa5.is-suit .tcg-fa-bande { transition: none; }
.tcg-carte.tcg--fa8.is-suit .tcg-fa-bande { transition: none; }

/* ================================================================ V3 : puissance, bande, référence */
/* La puissance, en bas à droite : « PUISSANCE » en contour blanc, petit et très espacé ; la
 * valeur en plein, en italique et en métal, centrée par-dessus. */
.tcg--fa3 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa6 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa7 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa9 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa10 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa4 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa5 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa8 .tcg-fa-puissance { position: absolute; z-index: 7; right: 6cqw; bottom: 5.4cqw; display: grid; place-items: center; pointer-events: none; }
.tcg--fa3 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa6 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa7 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa9 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa10 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa4 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa5 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa8 .tcg-fa-puissance > * { grid-area: 1 / 1; }
.tcg--fa3 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fa6 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fa7 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fa9 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fa10 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fa4 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fa5 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fa8 .tcg-fa-puissance__mot { font: italic 800 6.2cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif; letter-spacing: .32em; text-transform: uppercase;
    padding-left: .32em; color: transparent; -webkit-text-stroke: .16cqw rgba(255, 255, 255, .7); }
.tcg--fullart.tcg--fa3 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
.tcg--fullart.tcg--fa6 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
.tcg--fullart.tcg--fa7 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
.tcg--fullart.tcg--fa9 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
.tcg--fullart.tcg--fa10 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
.tcg--fullart.tcg--fa4 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
.tcg--fullart.tcg--fa5 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
.tcg--fullart.tcg--fa8 .tcg-fa-puissance .tcg-puissance { position: static !important; margin: 0; font: italic 800 10.5cqw/1 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important;
    letter-spacing: .01em; padding-right: .6cqw; translate: none !important; }
/* La référence complète revient en bas à gauche, le numéro juste au-dessus. */
.tcg--fullart.tcg--fa3 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-ident { left: 5.4cqw !important; right: auto !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa3 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 8.4cqw !important; }

/* La bande, plus discrète et fondue dans l'image : plus fine, fusionnée avec les couleurs de
 * l'image (lumière douce), effacée aux deux bouts ; l'irisation reste légère. */
.tcg--fa3 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa6 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa7 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa9 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa10 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa4 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa5 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa8 .tcg-fa-bande { width: 4.2cqw !important; right: 11cqw !important; mix-blend-mode: soft-light !important; opacity: .9 !important; box-shadow: none !important;
    -webkit-mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); mask: linear-gradient(180deg, transparent 2%, #000 18%, #000 78%, transparent 96%); }
.tcg--fa3 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }
.tcg--fa6 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }
.tcg--fa7 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }
.tcg--fa9 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }
.tcg--fa10 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }
.tcg--fa4 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }
.tcg--fa5 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }
.tcg--fa8 .tcg-fa-bande__texte { font-size: 2.4cqw; color: rgba(20, 22, 28, .55); }

/* Relief (toutes versions) : le vernis sélectif est calculé sur l'image entière ; sur le fond
 * nettoyé, il ferait réapparaître la silhouette du sujet. Il est retiré quand le relief est actif. */
.tcg--relief .tcg-fa-vernis { display: none !important; }

/* V3 : la bande porte l'identifiant de série, en grand. */
.tcg--fa3 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa6 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa7 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa9 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa10 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa4 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa5 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa8 .tcg-fa-bande { width: 5.4cqw !important; }
.tcg--fa3 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }
.tcg--fa6 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }
.tcg--fa7 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }
.tcg--fa9 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }
.tcg--fa10 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }
.tcg--fa4 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }
.tcg--fa5 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }
.tcg--fa8 .tcg-fa-bande__texte { font: 800 4.4cqw/1 "TCG Oxanium", "TCG Barlow", sans-serif !important; letter-spacing: .22em; }

/* V3 : la bande billet, plus visible et régulière sur toute sa longueur (plus de fondu aux
 * bouts, plus de fusion avec l'image). Elle s'éclaire selon l'angle, et une irisation de
 * couleurs glisse sur le métal quand on incline la carte (la teinte change avec l'angle). */
.tcg--fa3 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa6 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa7 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa9 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa10 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa4 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa5 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa8 .tcg-fa-bande { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; isolation: isolate;
    --angle: max(var(--tcg-tx, 0), calc(var(--tcg-tx, 0) * -1), var(--tcg-ty, 0), calc(var(--tcg-ty, 0) * -1));
    opacity: calc(.72 + var(--angle) * .28) !important;
    box-shadow: inset .15cqw 0 0 rgba(255, 255, 255, .55), inset -.15cqw 0 0 rgba(0, 0, 0, .3), 0 0 .5cqw rgba(0, 0, 0, .35) !important; }
.tcg--fa3 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa6 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa7 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa9 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa10 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa4 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa5 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa8 .tcg-fa-bande::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color;
    background: linear-gradient(180deg, #ff4f9a, #ffb84f, #d9ff4f, #4fffb0, #4fd2ff, #7a5cff, #e04fff, #ff4f9a, #ffb84f, #4fffb0, #4fd2ff, #7a5cff, #ff4f9a)
        0 calc(50% + var(--tcg-tx, 0) * 45% + var(--tcg-ty, 0) * 30%) / 100% 400%;
    opacity: calc(.12 + var(--angle) * .55); transition: opacity .3s; }
.tcg--fa3 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa6 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa7 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa9 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa10 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa4 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa5 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa8 .tcg-fa-bande__texte { position: relative; z-index: 1; color: rgba(30, 33, 40, .6); }
.tcg--fa3.tcg--holo-nb .tcg-fa-bande::after { display: none; }
.tcg--fa6.tcg--holo-nb .tcg-fa-bande::after { display: none; }
.tcg--fa7.tcg--holo-nb .tcg-fa-bande::after { display: none; }
.tcg--fa9.tcg--holo-nb .tcg-fa-bande::after { display: none; }
.tcg--fa10.tcg--holo-nb .tcg-fa-bande::after { display: none; }
.tcg--fa4.tcg--holo-nb .tcg-fa-bande::after { display: none; }
.tcg--fa5.tcg--holo-nb .tcg-fa-bande::after { display: none; }
.tcg--fa8.tcg--holo-nb .tcg-fa-bande::after { display: none; }

/* V3 : bande billet plus discrète, texte plus petit. */
.tcg--fa3 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa6 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa7 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa9 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa10 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa4 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa5 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa8 .tcg-fa-bande { width: 4.6cqw !important; opacity: calc(.42 + var(--angle) * .3) !important; box-shadow: inset .12cqw 0 0 rgba(255, 255, 255, .4), inset -.12cqw 0 0 rgba(0, 0, 0, .25) !important; }
.tcg--fa3 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa6 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa7 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa9 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa10 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa4 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa5 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa8 .tcg-fa-bande::after { opacity: calc(.08 + var(--angle) * .4); }
.tcg--fa3 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }
.tcg--fa6 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }
.tcg--fa7 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }
.tcg--fa9 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }
.tcg--fa10 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }
.tcg--fa4 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }
.tcg--fa5 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }
.tcg--fa8 .tcg-fa-bande__texte { font-size: 2.9cqw !important; letter-spacing: .3em; color: rgba(30, 33, 40, .5); }

/* V3 : l'identifiant de série, bien centré dans la bande (texte tourné d'un quart de tour,
 * centré sur l'axe de la bande). */
.tcg--fa3 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa6 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa7 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa9 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa10 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa4 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa5 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa8 .tcg-fa-bande__texte { writing-mode: horizontal-tb !important; display: block !important; left: 50% !important; right: auto !important; top: 50% !important;
    transform: translate(-50%, -50%) rotate(90deg); line-height: 1 !important; padding-left: .3em; }
.tcg--fa3 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }
.tcg--fa6 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }
.tcg--fa7 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }
.tcg--fa9 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }
.tcg--fa10 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }
.tcg--fa4 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }
.tcg--fa5 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }
.tcg--fa8 .tcg-fa-bande__texte { position: absolute !important; z-index: 1; }

/* V3 : en bas, le numéro de carte à gauche et la référence complète à droite ; la puissance
 * remonte juste au-dessus de la référence. */
.tcg--fullart.tcg--fa3 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-numero--gauche { left: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa3 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-ident { left: auto !important; right: 5.4cqw !important; bottom: 4.4cqw !important; }
.tcg--fa3 .tcg-fa-puissance { bottom: 8.6cqw !important; }
.tcg--fa6 .tcg-fa-puissance { bottom: 8.6cqw !important; }
.tcg--fa7 .tcg-fa-puissance { bottom: 8.6cqw !important; }
.tcg--fa9 .tcg-fa-puissance { bottom: 8.6cqw !important; }
.tcg--fa10 .tcg-fa-puissance { bottom: 8.6cqw !important; }
.tcg--fa4 .tcg-fa-puissance { bottom: 8.6cqw !important; }
.tcg--fa5 .tcg-fa-puissance { bottom: 8.6cqw !important; }
.tcg--fa8 .tcg-fa-puissance { bottom: 8.6cqw !important; }

/* V3 : les tags suivent le nom (s'il rapetisse, ils se rapprochent) — le titre devient une
 * colonne : le nom, puis les tags juste dessous. */
.tcg--fa3 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa6 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa7 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa9 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa10 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa4 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa5 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa8 .tcg-fa-titre { display: flex; flex-direction: column; align-items: stretch; }
.tcg--fa3 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa6 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa7 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa9 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa10 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa4 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa5 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa8 .tcg-fa-titre .tcg-nom { position: relative !important; flex: none; }
.tcg--fa3 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa6 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa7 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa9 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa10 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa4 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa5 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa8 .tcg-fa-titre__contour { position: absolute !important; top: 0; left: 0; }
.tcg--fa3 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }
.tcg--fa6 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }
.tcg--fa7 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }
.tcg--fa9 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }
.tcg--fa10 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }
.tcg--fa4 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }
.tcg--fa5 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }
.tcg--fa8 .tcg-fa-titre .tcg-tags { position: static !important; margin: .5cqw 0 0 .4cqw !important; flex: none; }

/* Le liseré redescend encore (moitié de la descente précédente) : le nom gagne de la place. */
.tcg--fullart.tcg--fa3 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-face--avant .tcg-zone { top: 110cqw !important; }
.tcg--fa3 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fa6 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fa7 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fa9 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fa10 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fa4 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fa5 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fa8 .tcg-fa-titre { top: 99cqw !important; width: 81.5cqw !important; }
.tcg--fullart.tcg--fa3 .tcg-texte { margin-top: 2.2cqw; }
.tcg--fullart.tcg--fa6 .tcg-texte { margin-top: 2.2cqw; }
.tcg--fullart.tcg--fa7 .tcg-texte { margin-top: 2.2cqw; }
.tcg--fullart.tcg--fa9 .tcg-texte { margin-top: 2.2cqw; }
.tcg--fullart.tcg--fa10 .tcg-texte { margin-top: 2.2cqw; }
.tcg--fullart.tcg--fa4 .tcg-texte { margin-top: 2.2cqw; }
.tcg--fullart.tcg--fa5 .tcg-texte { margin-top: 2.2cqw; }
.tcg--fullart.tcg--fa8 .tcg-texte { margin-top: 2.2cqw; }
/* Le descriptif reste dans la colonne de gauche : il ne passe plus sous la puissance. */
.tcg--fullart.tcg--fa3 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }
.tcg--fullart.tcg--fa6 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }
.tcg--fullart.tcg--fa7 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }
.tcg--fullart.tcg--fa9 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }
.tcg--fullart.tcg--fa10 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }
.tcg--fullart.tcg--fa4 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }
.tcg--fullart.tcg--fa5 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }
.tcg--fullart.tcg--fa8 .tcg-texte { max-width: 54%; font-size: 3.9cqw; }

/* V3 : la puissance au-dessus de l'encoche basse du liseré (à droite de la cassure). Derrière
 * la valeur pleine, la même valeur en contour blanc, environ trois fois plus grande, alignée
 * sur le bas de la valeur ; ce qui dépasse sort de la carte. */
.tcg--fa3 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fa6 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fa7 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fa9 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fa10 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fa4 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fa5 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fa8 .tcg-fa-puissance { right: auto !important; left: 61cqw !important; bottom: auto !important; top: -10.6cqw !important;
    display: grid !important; place-items: end start !important; z-index: 6 !important; }
.tcg--fullart.tcg--fa3 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fullart.tcg--fa6 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fullart.tcg--fa7 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fullart.tcg--fa9 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fullart.tcg--fa10 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fullart.tcg--fa4 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fullart.tcg--fa5 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fullart.tcg--fa8 .tcg-fa-puissance .tcg-puissance { position: relative !important; z-index: 1; font-size: 11cqw !important; line-height: .74 !important; padding: 0; }
.tcg--fa3 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa6 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa7 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa9 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa10 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa4 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa5 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa8 .tcg-fa-puissance__mot { font: italic 800 33cqw/.74 "TCG Barlow Condensed", "TCG Barlow", sans-serif !important; letter-spacing: 0 !important; padding: 0 !important;
    color: transparent; -webkit-text-stroke: .2cqw rgba(255, 255, 255, .55); white-space: nowrap; margin-left: -2cqw; }
.tcg--fa3 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
.tcg--fa6 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
.tcg--fa7 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
.tcg--fa9 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
.tcg--fa10 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
.tcg--fa4 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
.tcg--fa5 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
.tcg--fa8 .tcg-fa-puissance { top: auto !important; bottom: calc(100% - .2cqw) !important; }
/* Le grand contour : son bas aligné sur le bas de la valeur pleine. */
.tcg--fa3 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
.tcg--fa6 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
.tcg--fa7 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
.tcg--fa9 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
.tcg--fa10 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
.tcg--fa4 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
.tcg--fa5 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
.tcg--fa8 .tcg-fa-puissance__mot { translate: 0 -1.4cqw; }
/* La puissance n'est plus dans la zone : le descriptif reprend toute la largeur. */
.tcg--fullart.tcg--fa3 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }
.tcg--fullart.tcg--fa6 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }
.tcg--fullart.tcg--fa7 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }
.tcg--fullart.tcg--fa9 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }
.tcg--fullart.tcg--fa10 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }
.tcg--fullart.tcg--fa4 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }
.tcg--fullart.tcg--fa5 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }
.tcg--fullart.tcg--fa8 .tcg-texte { max-width: 92%; font-size: 4.1cqw; }

/* V3 : tout est proportionnel à la taille du nom (qui rapetisse pour les noms longs) :
 * l'espace sous le nom, le décalage et l'épaisseur du contour blanc sont en « em ». */
.tcg--fa3 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa6 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa7 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa9 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa10 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa4 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa5 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa8 .tcg-fa-titre .tcg-nom { margin-bottom: .08em !important; }
.tcg--fa3 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa6 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa7 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa9 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa10 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa4 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa5 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa8 .tcg-fa-titre .tcg-tags { margin-top: .4cqw !important; }
.tcg--fa3 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }
.tcg--fa6 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }
.tcg--fa7 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }
.tcg--fa9 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }
.tcg--fa10 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }
.tcg--fa4 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }
.tcg--fa5 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }
.tcg--fa8 .tcg-fa-titre__contour { translate: -.08em .08em !important; -webkit-text-stroke-width: .013em !important; }

/* La puissance (et tout texte métallisé) : le métal est peint dans la boîte du texte ; avec une
 * hauteur de ligne serrée, le haut des chiffres pouvait sortir de la boîte et être coupé. Un peu
 * de marge intérieure en haut (compensée) leur laisse la place. */
.tcg-puissance { padding-top: .14em !important; margin-top: -.14em !important; }

/* V3 : la puissance décolle de l'encoche (à mi-hauteur de l'encoche). */
.tcg--fa3 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
.tcg--fa6 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
.tcg--fa7 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
.tcg--fa9 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
.tcg--fa10 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
.tcg--fa4 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
.tcg--fa5 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
.tcg--fa8 .tcg-fa-puissance { bottom: calc(100% + 2.3cqw) !important; }
/* Les doublures en contour blanc : sans ombre (l'ombre héritée remplissait l'intérieur en sombre). */
.tcg--fa3 .tcg-fa-puissance__mot, .tcg--fa2 .tcg-fa-titre__contour, .tcg--fa3 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
.tcg--fa6 .tcg-fa-puissance__mot, .tcg--fa6 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
.tcg--fa7 .tcg-fa-puissance__mot, .tcg--fa7 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
.tcg--fa9 .tcg-fa-puissance__mot, .tcg--fa9 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
.tcg--fa10 .tcg-fa-puissance__mot, .tcg--fa10 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
.tcg--fa4 .tcg-fa-puissance__mot, .tcg--fa4 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
.tcg--fa5 .tcg-fa-puissance__mot, .tcg--fa5 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
.tcg--fa8 .tcg-fa-puissance__mot, .tcg--fa8 .tcg-fa-titre__contour { text-shadow: none !important; filter: none !important; }
/* La bande billet, encore un peu atténuée. */
.tcg--fa3 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }
.tcg--fa6 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }
.tcg--fa7 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }
.tcg--fa9 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }
.tcg--fa10 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }
.tcg--fa4 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }
.tcg--fa5 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }
.tcg--fa8 .tcg-fa-bande { opacity: calc(.32 + var(--angle) * .26) !important; }

/* Titre vertical (V2 et V3) : le texte est tourné d'un quart de tour, donc le brossage et le
 * reflet du métal le sont aussi. On les tourne dans l'autre sens pour qu'à l'écran, les stries
 * restent verticales et le reflet glisse de gauche à droite avec l'inclinaison. */
.tcg--fullart.tcg--epique.tcg--fa2 .tcg-fa-titre .tcg-nom, .tcg--fullart.tcg--epique.tcg--fa3 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--epique.tcg--fa6 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--epique.tcg--fa7 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--epique.tcg--fa9 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--epique.tcg--fa10 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--epique.tcg--fa4 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--epique.tcg--fa5 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--epique.tcg--fa8 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .1) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(20deg, var(--liseret) 38%, color-mix(in srgb, var(--liseret) 45%, #fff) 50%, var(--liseret) 62%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 300%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa2 .tcg-fa-titre .tcg-nom, .tcg--fullart.tcg--legendaire.tcg--fa3 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa6 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa7 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa9 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa10 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa4 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa5 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }
.tcg--fullart.tcg--legendaire.tcg--fa8 .tcg-fa-titre .tcg-nom {
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .09) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(10deg, #6e4504 0%, #a8790e 22%, #dbb456 40%, #b7871a 55%, #7a4f05 78%, #a8790e 100%) 0 calc(var(--tcg-px, .5) * 100%) / 100% 220%;
    -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Full art : la puissance en italique dépasse aussi à droite (inclinaison) et en haut : plus
 * de marge intérieure de ce côté, pour que le métal couvre tout le chiffre. */
.tcg--fullart.tcg--fa2 .tcg-zone > .tcg-puissance,
.tcg--fullart.tcg--fa3 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
.tcg--fullart.tcg--fa6 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
.tcg--fullart.tcg--fa7 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
.tcg--fullart.tcg--fa9 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
.tcg--fullart.tcg--fa10 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
.tcg--fullart.tcg--fa4 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
.tcg--fullart.tcg--fa5 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
.tcg--fullart.tcg--fa8 .tcg-fa-puissance .tcg-puissance { padding: .2em .14em .04em .06em !important; margin: -.2em -.14em -.04em -.06em !important; }
/* La grande valeur en contour : même épaisseur de trait que le contour du nom. */
.tcg--fa3 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }
.tcg--fa6 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }
.tcg--fa7 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }
.tcg--fa9 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }
.tcg--fa10 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }
.tcg--fa4 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }
.tcg--fa5 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }
.tcg--fa8 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .24cqw !important; }

/* ================================================================ V3 : liseré inversé, puissance à droite
 * Le liseré est inversé dans sa forme (partie basse à gauche, partie haute à droite), mais
 * s'estompe toujours de gauche à droite. Le titre peut descendre plus bas. */
.tcg--fullart.tcg--fa3 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fullart.tcg--fa6 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fullart.tcg--fa7 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fullart.tcg--fa9 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fullart.tcg--fa10 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fullart.tcg--fa4 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fullart.tcg--fa5 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fullart.tcg--fa8 .tcg-zone .tcg-liseret {
    clip-path: polygon(0 5cqw, 58% 5cqw, calc(58% + 6cqw) 0, 100% 0, 100% .55cqw, calc(58% + 6.22cqw) .55cqw, calc(58% + .22cqw) 5.55cqw, 0 5.55cqw) !important; }
.tcg--fa3 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
.tcg--fa6 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
.tcg--fa7 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
.tcg--fa9 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
.tcg--fa10 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
.tcg--fa4 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
.tcg--fa5 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
.tcg--fa8 .tcg-fa-titre { top: 104cqw !important; width: 86.5cqw !important; }
/* La puissance, calée à droite de la carte : la grande valeur en contour a toujours la même
 * largeur (taille de police calculée), la valeur pleine est centrée au milieu. */
.tcg--fa3 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa6 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa7 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa9 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa10 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa4 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa5 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa8 .tcg-fa-puissance { left: auto !important; right: 5cqw !important; bottom: calc(100% + 6.4cqw) !important; place-items: center !important; }
.tcg--fa3 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }
.tcg--fa6 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }
.tcg--fa7 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }
.tcg--fa9 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }
.tcg--fa10 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }
.tcg--fa4 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }
.tcg--fa5 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }
.tcg--fa8 .tcg-fa-puissance__mot { translate: none !important; margin: 0 !important; line-height: .74 !important; }

/* V3 : la valeur pleine en bas à droite de la grande valeur en contour, avec une marge en bas
 * et à droite (elle ne colle pas au bord). */
.tcg-carte.tcg--fullart.tcg--fa3 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }
.tcg-carte.tcg--fullart.tcg--fa6 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }
.tcg-carte.tcg--fullart.tcg--fa7 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }
.tcg-carte.tcg--fullart.tcg--fa9 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }
.tcg-carte.tcg--fullart.tcg--fa10 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }
.tcg-carte.tcg--fullart.tcg--fa4 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }
.tcg-carte.tcg--fullart.tcg--fa5 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }
.tcg-carte.tcg--fullart.tcg--fa8 .tcg-fa-puissance .tcg-puissance { justify-self: end !important; align-self: end !important; translate: -2.4cqw -1.6cqw !important; }

/* ================================================================ V3 : noir et blanc en couleur, texte de bande centré
/* Le texte de la bande bien centré : la boîte du texte est centrée, et les capitales (qui
 * n'occupent pas toute la hauteur de ligne) sont recentrées optiquement. */
.tcg--fa3 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }
.tcg--fa6 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }
.tcg--fa7 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }
.tcg--fa9 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }
.tcg--fa10 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }
.tcg--fa4 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }
.tcg--fa5 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }
.tcg--fa8 .tcg-fa-bande__texte { padding: 0 !important; letter-spacing: .3em; margin-right: -.3em; line-height: .74 !important; }

/* Noir et blanc (V3) : l'image reste en gris, mais les éléments à la couleur de la rareté
 * gardent leur couleur (liseré, filet de bord, nom, puissance, tags). */
.tcg--fullart.tcg--fa3.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fullart.tcg--fa6.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fullart.tcg--fa7.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fullart.tcg--fa9.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fullart.tcg--fa10.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fullart.tcg--fa4.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fullart.tcg--fa5.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fullart.tcg--fa8.tcg--holo-nb .tcg-zone .tcg-liseret { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fa3.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fa6.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fa7.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fa9.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fa10.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fa4.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fa5.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fa8.tcg--holo-nb .tcg-fa-filet { filter: none !important; }
.tcg--fullart.tcg--fa3.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fullart.tcg--fa6.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fullart.tcg--fa7.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fullart.tcg--fa9.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fullart.tcg--fa10.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fullart.tcg--fa4.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fullart.tcg--fa5.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fullart.tcg--fa8.tcg--holo-nb .tcg-fa-titre .tcg-nom { filter: drop-shadow(0 0 1.2cqw rgba(0, 0, 0, .55)) drop-shadow(0 .2cqw .2cqw rgba(0, 0, 0, .5)) !important; }
.tcg--fa3 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }
.tcg--fa6 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }
.tcg--fa7 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }
.tcg--fa9 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }
.tcg--fa10 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }
.tcg--fa4 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }
.tcg--fa5 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }
.tcg--fa8 .tcg-fa-bande__texte { transform: translate(calc(-50% - .45cqw), -50%) rotate(90deg) !important; }

/* V3 : la puissance des épiques en métal brossé (comme le nom) : la couleur pleine qui
 * recouvrait le métal est retirée. */
.tcg-carte.tcg--fullart.tcg--fa3.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
.tcg-carte.tcg--fullart.tcg--fa6.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
.tcg-carte.tcg--fullart.tcg--fa7.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
.tcg-carte.tcg--fullart.tcg--fa9.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
.tcg-carte.tcg--fullart.tcg--fa10.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
.tcg-carte.tcg--fullart.tcg--fa4.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
.tcg-carte.tcg--fullart.tcg--fa5.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
.tcg-carte.tcg--fullart.tcg--fa8.tcg--epique .tcg-fa-puissance .tcg-puissance {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 .08cqw, transparent .08cqw .3cqw),
        linear-gradient(110deg, var(--liseret) 34%, color-mix(in srgb, var(--liseret) 40%, #fff) 50%, var(--liseret) 66%) calc((1 - var(--tcg-px, .5)) * 100%) 0 / 300% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
    filter: drop-shadow(0 -.1cqw 0 rgba(255, 255, 255, .35)) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)) !important; }
/* V3 : le descriptif en italique. */
.tcg--fullart.tcg--fa3 .tcg-texte { font-style: italic; }
.tcg--fullart.tcg--fa6 .tcg-texte { font-style: italic; }
.tcg--fullart.tcg--fa7 .tcg-texte { font-style: italic; }
.tcg--fullart.tcg--fa9 .tcg-texte { font-style: italic; }
.tcg--fullart.tcg--fa10 .tcg-texte { font-style: italic; }
.tcg--fullart.tcg--fa4 .tcg-texte { font-style: italic; }
.tcg--fullart.tcg--fa5 .tcg-texte { font-style: italic; }
.tcg--fullart.tcg--fa8 .tcg-texte { font-style: italic; }

/* V3 : le bloc puissance remonte : même écart au-dessus du liseré que le nom (≈ 6,5 cqw). */
.tcg--fa3 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
.tcg--fa6 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
.tcg--fa7 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
.tcg--fa9 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
.tcg--fa10 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
.tcg--fa4 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
.tcg--fa5 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
.tcg--fa8 .tcg-fa-puissance { bottom: calc(100% + 11cqw) !important; }
/* V3 : le descriptif centré, en largeur et en hauteur, dans l'espace libre entre le liseré et
 * la ligne du bas (numéro, référence). */
.tcg--fullart.tcg--fa3 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa6 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa7 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa10 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-face--avant .tcg-zone { display: flex !important; flex-direction: column; padding-top: 2.6cqw !important; padding-bottom: 9.6cqw !important; }
.tcg--fullart.tcg--fa3 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }
.tcg--fullart.tcg--fa6 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }
.tcg--fullart.tcg--fa7 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }
.tcg--fullart.tcg--fa9 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }
.tcg--fullart.tcg--fa10 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }
.tcg--fullart.tcg--fa4 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }
.tcg--fullart.tcg--fa5 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }
.tcg--fullart.tcg--fa8 .tcg-texte { flex: 1 1 auto; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; text-align: center !important; max-width: 86% !important; }

/* ================================================================ V3 : la bande s'arrête au liseré
 * Même bande qu'avant (argent discret, irisation selon l'angle, « HF27 » centré), mais elle
 * descend du haut de la carte jusqu'au liseré et s'efface progressivement en approchant. */
.tcg--fa3 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }
.tcg--fa6 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }
.tcg--fa7 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }
.tcg--fa9 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }
.tcg--fa10 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }
.tcg--fa4 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }
.tcg--fa5 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }
.tcg--fa8 .tcg-fa-bande { top: -6cqw !important; bottom: auto !important; height: 111.4cqw !important;
    -webkit-mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; mask: linear-gradient(180deg, #000 35%, transparent 98%) !important; }

/* ================================================================ le booster (v2) : un vrai sachet
 * Monté sur un pivot en 3D : il se penche vers le pointeur, son film paraît bombé (ombres sur
 * les bords, lumière au centre, reflet qui suit le pointeur), et on peut le retourner pour
 * voir le dos (design de la série, code-barres de la graine en bas à droite). */
.tcg-booster { perspective: 1400px; }
.tcg-booster__pivot { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
.tcg-booster.is-suit .tcg-booster__pivot { transition: transform .18s ease-out; }
.tcg-booster.is-retourne .tcg-booster__pivot { transform: rotateY(180deg); }
.tcg-booster__sachet { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
/* Le relief du film : le même dessin, à la même échelle, sur le haut, le corps et le dos. */
.tcg-booster__relief { position: absolute; inset: 0; z-index: 2; pointer-events: none;
    background:
        radial-gradient(42% 30% at var(--bx, 42%) var(--by, 32%), rgba(255, 255, 255, .2), transparent 72%),
        linear-gradient(90deg, rgba(0, 0, 0, .62), rgba(0, 0, 0, .14) 9%, rgba(255, 255, 255, .1) 26%, transparent 44%, rgba(0, 0, 0, .07) 62%, rgba(255, 255, 255, .08) 80%, rgba(0, 0, 0, .24) 92%, rgba(0, 0, 0, .62)),
        linear-gradient(180deg, rgba(0, 0, 0, .3), transparent 13%, transparent 86%, rgba(0, 0, 0, .38));
    background-repeat: no-repeat; }
.tcg-booster__relief--haut { background-size: 100% 714.3%; background-position: 0 0; }
.tcg-booster__relief--corps { background-size: 100% 116.3%; background-position: 0 100%; }
.tcg-booster__relief--verso { background-size: 100% 100%; }
/* Le sertissage : des stries serrées en haut et en bas. */
.tcg-booster__relief--haut::after, .tcg-booster__relief--corps::after, .tcg-booster__relief--verso::before, .tcg-booster__relief--verso::after {
    content: ""; position: absolute; left: 0; right: 0; height: 6.5cqw;
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .08) 0 .35cqw, rgba(0, 0, 0, .28) .35cqw .85cqw); }
.tcg-booster__relief--haut::after, .tcg-booster__relief--verso::before { top: 0; }
.tcg-booster__relief--corps::after, .tcg-booster__relief--verso::after { bottom: 0; }

/* Le dos. */
.tcg-booster__verso { position: absolute; inset: 0; overflow: hidden; transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden;
    background:
        radial-gradient(80% 40% at 50% 34%, rgba(220, 30, 30, .4), transparent 75%),
        repeating-linear-gradient(100deg, rgba(255, 255, 255, .03) 0 .5cqw, transparent .5cqw 2cqw),
        linear-gradient(160deg, #2c080a, #0b0505 50%, #220608 80%, #0a0505);
    color: var(--tcg-os); text-align: center; }
.tcg-booster__verso-contenu { position: absolute; left: 8cqw; right: 8cqw; top: 13cqw; display: grid; justify-items: center; gap: 3.2cqw; }
.tcg-booster__verso-embleme { display: grid; place-items: center; width: 30cqw; aspect-ratio: 1; border-radius: 50%;
    background: radial-gradient(circle at 50% 40%, #2a0d0c, #0c0605 70%);
    box-shadow: 0 0 0 .6cqw var(--tcg-os), 0 0 0 1.4cqw rgba(0, 0, 0, .7), 0 0 0 1.8cqw var(--tcg-sang), 0 0 6cqw rgba(220, 30, 30, .45);
    font: 400 22cqw/1 "TCG Gothique", serif; color: var(--tcg-sang); text-shadow: .6cqw .5cqw 0 var(--tcg-os); }
.tcg-booster__verso-titre { font: 400 13cqw/.9 "TCG Gothique", serif; color: var(--tcg-sang); text-shadow: .7cqw .5cqw 0 var(--tcg-os); }
.tcg-booster__verso-mention { padding: 1.2cqw 3cqw; border: .45cqw solid var(--tcg-sang); color: var(--tcg-sang); font: 400 3.6cqw/1 "TCG Bebas", sans-serif; letter-spacing: .2em; rotate: -3deg; }
.tcg-booster__verso-texte { display: grid; gap: 1.6cqw; margin-top: 2cqw; font: 400 3.4cqw/1.25 "TCG Machine", monospace; color: rgba(239, 231, 214, .75); }
.tcg-booster__verso-bas { position: absolute; left: 7cqw; right: 7cqw; bottom: 9cqw; display: flex; align-items: flex-end; justify-content: space-between; gap: 3cqw; }
.tcg-booster__verso-pres { font: 400 3.4cqw/1.2 "TCG Bebas", sans-serif; letter-spacing: .26em; color: rgba(239, 231, 214, .6); text-align: left; }
/* Le code-barres de la graine, en bas à droite, sur une étiquette blanche. */
.tcg-booster__code { display: grid; justify-items: center; gap: .6cqw; width: 36cqw; min-height: 12cqw; padding: 1.4cqw 1.8cqw 1cqw; box-sizing: border-box;
    background: var(--tcg-os); border-radius: .6cqw; box-shadow: 0 .4cqw 1.2cqw rgba(0, 0, 0, .5); }
.tcg-booster__code:not(.is-pret) { background: repeating-linear-gradient(90deg, rgba(20, 20, 20, .25) 0 .4cqw, transparent .4cqw 1.4cqw) 1.8cqw 1.4cqw / calc(100% - 3.6cqw) 7cqw no-repeat, var(--tcg-os); }
.tcg-booster__code .tcg-code-barres { width: 100%; height: 7cqw; fill: #121212; }
.tcg-booster__code-chiffres { font: 400 2.8cqw/1 "TCG Machine", monospace; letter-spacing: .18em; color: #121212; }

/* --- l'ouverture, plus douce */
.tcg-booster.is-secoue { animation: tcg-secoue2 .5s cubic-bezier(.36, .07, .19, .97) both; }
@keyframes tcg-secoue2 {
    15%, 85% { transform: translateX(-1px) rotate(-.6deg); }
    30%, 70% { transform: translateX(3px) rotate(1.2deg); }
    45%, 55% { transform: translateX(-4px) rotate(-1.6deg); }
    50% { transform: translateX(4px) rotate(1.6deg); }
}
.tcg-booster.is-dechire .tcg-booster__haut { animation: tcg-arrache2 .75s cubic-bezier(.25, .7, .3, 1) forwards; }
@keyframes tcg-arrache2 {
    0% { transform: none; }
    30% { transform: translate(5%, -22%) rotate(5deg); opacity: 1; }
    100% { transform: translate(48%, -190%) rotate(40deg); opacity: 0; }
}
.tcg-booster.is-dechire::after { opacity: .75; }
.tcg-pile.is-sort { animation: tcg-sort2 .9s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes tcg-sort2 { from { transform: translateY(40%) scale(.9); opacity: 0; } 35% { opacity: 1; } to { transform: none; opacity: 1; } }
.tcg-booster.is-vide { animation: tcg-tombe2 .75s cubic-bezier(.6, 0, .8, .4) .08s forwards; }
@keyframes tcg-tombe2 { to { transform: translateY(68%) scale(.94); opacity: 0; filter: blur(2px) drop-shadow(0 2rem 2.4rem rgba(0, 0, 0, .7)); } }
.tcg-salle .tcg-salle__colonne { flex-wrap: nowrap; justify-content: flex-start; }

/* ================================================================ le booster (v3) : finitions
 * Dents de sertissage plus fines, stries claires (plus de bandes sombres), film plus brillant. */
.tcg-booster__haut { -webkit-mask-size: 2.4cqw 100% !important; mask-size: 2.4cqw 100% !important; }
.tcg-booster__corps { -webkit-mask-size: 2.4cqw 100% !important; mask-size: 2.4cqw 100% !important; }
.tcg-booster__relief--haut::after, .tcg-booster__relief--corps::after, .tcg-booster__relief--verso::before, .tcg-booster__relief--verso::after {
    height: 4.6cqw; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .07) 0 .3cqw, rgba(255, 255, 255, 0) .3cqw .7cqw); }
/* Le film : deux reflets verticaux (plastique brillant) qui glissent avec l'inclinaison, et des
 * bords qui s'assombrissent comme un sachet gonflé. */
.tcg-booster__relief {
    background:
        linear-gradient(100deg, transparent calc(var(--bx, 50%) * .5 + 6%), rgba(255, 255, 255, .2) calc(var(--bx, 50%) * .5 + 12%), transparent calc(var(--bx, 50%) * .5 + 19%),
            transparent calc(var(--bx, 50%) * .5 + 44%), rgba(255, 255, 255, .1) calc(var(--bx, 50%) * .5 + 49%), transparent calc(var(--bx, 50%) * .5 + 55%)),
        radial-gradient(60% 46% at 50% 46%, rgba(255, 255, 255, .08), transparent 70%),
        linear-gradient(90deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .1) 8%, transparent 18%, transparent 82%, rgba(0, 0, 0, .1) 92%, rgba(0, 0, 0, .55)),
        linear-gradient(180deg, rgba(0, 0, 0, .28), transparent 10%, transparent 88%, rgba(0, 0, 0, .34)) !important;
    background-repeat: no-repeat !important; }
.tcg-booster.is-tourne .tcg-booster__pivot { transition: none; }
.tcg-booster:not(.is-ouvre) .tcg-booster__corps, .tcg-booster:not(.is-ouvre) .tcg-booster__verso { cursor: grab; }

/* L'ouverture : plus d'ovale lumineux ; une ligne de lumière court le long de la déchirure. */
.tcg-booster.is-dechire::after { left: 0 !important; right: 0 !important; top: 13% !important; height: 1.2cqw !important; border-radius: 1cqw; opacity: 1 !important;
    background: linear-gradient(90deg, transparent, #fff7e0 20%, #fff 50%, #fff7e0 80%, transparent) !important;
    box-shadow: 0 0 2.4cqw .6cqw rgba(255, 220, 160, .55);
    animation: tcg-ligne .7s ease-out forwards !important; }
@keyframes tcg-ligne { 0% { transform: scaleX(0); opacity: 0; } 35% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1.05); opacity: 0; } }
/* La mise à jour : le résumé apparaît en douceur, une carte après l'autre. */

/* ================================================================ FULL ART — VERSION 4 (V3 + cadre)
 * La V3, avec en plus le cadre des cartes normales tout autour de l'image (fond de carte, et
 * la grille révélée par la lumière). Plus de filet de bord : le contour de rareté se pose sur
 * le bord intérieur du cadre, comme autour de l'image d'une carte normale. */
.tcg-fa-cadre4 { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: var(--fond);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 88' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' d='M0 0H63V88H0Z M3.78 2.142H59.22A1.638 1.638 0 0 1 60.858 3.78V84.22A1.638 1.638 0 0 1 59.22 85.858H3.78A1.638 1.638 0 0 1 2.142 84.22V3.78A1.638 1.638 0 0 1 3.78 2.142Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 88' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' d='M0 0H63V88H0Z M3.78 2.142H59.22A1.638 1.638 0 0 1 60.858 3.78V84.22A1.638 1.638 0 0 1 59.22 85.858H3.78A1.638 1.638 0 0 1 2.142 84.22V3.78A1.638 1.638 0 0 1 3.78 2.142Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
/* La grille du cadre, révélée par la tache de lumière (comme sur les épiques et légendaires normales). */
.tcg-fa-cadre4__grille { position: absolute; inset: 0; opacity: 0; transition: opacity .3s;
    --trait: color-mix(in srgb, color-mix(in srgb, var(--liseret) 25%, #fff) 22%, transparent);
    background: repeating-linear-gradient(45deg, var(--trait) 0 .22cqw, transparent .22cqw 2.2cqw),
                repeating-linear-gradient(-45deg, var(--trait) 0 .22cqw, transparent .22cqw 2.2cqw);
    -webkit-mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, transparent 48%);
    mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, transparent 48%); }
.tcg-carte.is-suit .tcg-fa-cadre4__grille { opacity: 1; }
.tcg--fa4 .tcg-motif { display: none !important; }
.tcg--fa5 .tcg-motif { display: none !important; }
.tcg--fa8 .tcg-motif { display: none !important; }

/* Le contour de rareté sur le bord intérieur du cadre, comme autour de l'image d'une carte
 * normale : en haut et à droite (s'efface en descendant), et à gauche (apparaît sous le coût). */
.tcg--fa4 .tcg-fa-cadre { inset: 3.4cqw !important; z-index: 4 !important; opacity: 1 !important; -webkit-mask: none !important; mask: none !important; }
.tcg--fa5 .tcg-fa-cadre { inset: 3.4cqw !important; z-index: 4 !important; opacity: 1 !important; -webkit-mask: none !important; mask: none !important; }
.tcg--fa8 .tcg-fa-cadre { inset: 3.4cqw !important; z-index: 4 !important; opacity: 1 !important; -webkit-mask: none !important; mask: none !important; }
.tcg--fa4 .tcg-fa-cadre::after { display: none; }
.tcg--fa5 .tcg-fa-cadre::after { display: none; }
.tcg--fa8 .tcg-fa-cadre::after { display: none; }
.tcg--fa4 .tcg-fa-cadre--2 { display: none; }
.tcg--fa5 .tcg-fa-cadre--2 { display: none; }
.tcg--fa8 .tcg-fa-cadre--2 { display: none; }
.tcg--fa4 .tcg-fa-cadre i { border-color: var(--liseret) !important; border-radius: 2.6cqw !important; filter: none !important; box-shadow: none !important; }
.tcg--fa5 .tcg-fa-cadre i { border-color: var(--liseret) !important; border-radius: 2.6cqw !important; filter: none !important; box-shadow: none !important; }
.tcg--fa8 .tcg-fa-cadre i { border-color: var(--liseret) !important; border-radius: 2.6cqw !important; filter: none !important; box-shadow: none !important; }
.tcg--fa4 .tcg-fa-cadre__haut { border-width: .8cqw .8cqw 0 0 !important;
    -webkit-mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 30%, transparent 62%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 30%, transparent 62%) !important; mask-composite: intersect !important; }
.tcg--fa5 .tcg-fa-cadre__haut { border-width: .8cqw .8cqw 0 0 !important;
    -webkit-mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 30%, transparent 62%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 30%, transparent 62%) !important; mask-composite: intersect !important; }
.tcg--fa8 .tcg-fa-cadre__haut { border-width: .8cqw .8cqw 0 0 !important;
    -webkit-mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 30%, transparent 62%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 30%, transparent 62%) !important; mask-composite: intersect !important; }
.tcg--fa4 .tcg-fa-cadre__bas { border-width: 0 0 0 .8cqw !important;
    -webkit-mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw, #000 70%, transparent 92%) !important; mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw, #000 70%, transparent 92%) !important; }
.tcg--fa5 .tcg-fa-cadre__bas { border-width: 0 0 0 .8cqw !important;
    -webkit-mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw, #000 70%, transparent 92%) !important; mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw, #000 70%, transparent 92%) !important; }
.tcg--fa8 .tcg-fa-cadre__bas { border-width: 0 0 0 .8cqw !important;
    -webkit-mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw, #000 70%, transparent 92%) !important; mask: linear-gradient(180deg, transparent 9.6cqw, #000 20cqw, #000 70%, transparent 92%) !important; }

/* Tout reste à l'intérieur du cadre. */
.tcg--fa4 .tcg-fa-titre { left: 6.4cqw !important; }
.tcg--fa5 .tcg-fa-titre { left: 6.4cqw !important; }
.tcg--fa8 .tcg-fa-titre { left: 6.4cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-zone .tcg-liseret { left: 3.4cqw !important; right: 3.4cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-zone .tcg-liseret { left: 3.4cqw !important; right: 3.4cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-zone .tcg-liseret { left: 3.4cqw !important; right: 3.4cqw !important; }
.tcg--fa4 .tcg-fa-puissance { right: 6.6cqw !important; }
.tcg--fa5 .tcg-fa-puissance { right: 6.6cqw !important; }
.tcg--fa8 .tcg-fa-puissance { right: 6.6cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-numero--gauche { left: 6.4cqw !important; bottom: 5.8cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-numero--gauche { left: 6.4cqw !important; bottom: 5.8cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-numero--gauche { left: 6.4cqw !important; bottom: 5.8cqw !important; }
.tcg--fullart.tcg--fa4 .tcg-ident { right: 6.4cqw !important; bottom: 5.8cqw !important; }
.tcg--fullart.tcg--fa5 .tcg-ident { right: 6.4cqw !important; bottom: 5.8cqw !important; }
.tcg--fullart.tcg--fa8 .tcg-ident { right: 6.4cqw !important; bottom: 5.8cqw !important; }
.tcg--fa4 .tcg-cout { left: 2cqw !important; top: 2cqw !important; }
.tcg--fa5 .tcg-cout { left: 2cqw !important; top: 2cqw !important; }
.tcg--fa8 .tcg-cout { left: 2cqw !important; top: 2cqw !important; }

/* V4 : le contour descend jusqu'en bas des deux côtés et se fond dans le coin bas droit.
 * - haut + droite : part à la même distance du coin haut gauche que le côté gauche, puis
 *   descend tout le long du bord droit en s'effaçant vers le bas ;
 * - gauche + bas : part à la même distance du coin, descend, puis longe le bas en s'effaçant
 *   vers la droite.
 * Même épaisseur et même teinte que le liseré. */
.tcg--fa4 .tcg-fa-cadre__haut { border-width: .55cqw .55cqw 0 0 !important;
    -webkit-mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 55%, transparent 98%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 55%, transparent 98%) !important; mask-composite: intersect !important; }
.tcg--fa5 .tcg-fa-cadre__haut { border-width: .55cqw .55cqw 0 0 !important;
    -webkit-mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 55%, transparent 98%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 55%, transparent 98%) !important; mask-composite: intersect !important; }
.tcg--fa8 .tcg-fa-cadre__haut { border-width: .55cqw .55cqw 0 0 !important;
    -webkit-mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 55%, transparent 98%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(90deg, transparent 11.2cqw, #000 21cqw), linear-gradient(180deg, #000 55%, transparent 98%) !important; mask-composite: intersect !important; }
.tcg--fa4 .tcg-fa-cadre__bas { border-width: 0 0 .55cqw .55cqw !important;
    -webkit-mask: linear-gradient(180deg, transparent 11.2cqw, #000 21cqw), linear-gradient(90deg, #000 40%, transparent 98%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(180deg, transparent 11.2cqw, #000 21cqw), linear-gradient(90deg, #000 40%, transparent 98%) !important; mask-composite: intersect !important; }
.tcg--fa5 .tcg-fa-cadre__bas { border-width: 0 0 .55cqw .55cqw !important;
    -webkit-mask: linear-gradient(180deg, transparent 11.2cqw, #000 21cqw), linear-gradient(90deg, #000 40%, transparent 98%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(180deg, transparent 11.2cqw, #000 21cqw), linear-gradient(90deg, #000 40%, transparent 98%) !important; mask-composite: intersect !important; }
.tcg--fa8 .tcg-fa-cadre__bas { border-width: 0 0 .55cqw .55cqw !important;
    -webkit-mask: linear-gradient(180deg, transparent 11.2cqw, #000 21cqw), linear-gradient(90deg, #000 40%, transparent 98%) !important; -webkit-mask-composite: source-in !important;
    mask: linear-gradient(180deg, transparent 11.2cqw, #000 21cqw), linear-gradient(90deg, #000 40%, transparent 98%) !important; mask-composite: intersect !important; }
.tcg--fa4 .tcg-fa-cadre i { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fa5 .tcg-fa-cadre i { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }
.tcg--fa8 .tcg-fa-cadre i { filter: drop-shadow(0 0 .8cqw color-mix(in srgb, var(--liseret) 45%, transparent)) !important; }


/* ================================================================ FULL ART — VERSION 5 (V4 sans parallaxe)
 * La V4 sans parallaxe : l'image et son prolongement restent immobiles, à leur taille réelle
 * (plus d'agrandissement de 10 % pour la parallaxe) ; la bande ne bouge plus non plus. */
.tcg--fa5 .tcg-fa-fond, .tcg-carte.tcg--fa5 .tcg-face--avant .tcg-illu, .tcg--fa5 .tcg-fa-bande { translate: none !important; transition: none !important; }
.tcg--fa8 .tcg-fa-fond, .tcg-carte.tcg--fa8 .tcg-face--avant .tcg-illu, .tcg--fa8 .tcg-fa-bande { translate: none !important; transition: none !important; }
.tcg-carte.tcg--fa5 .tcg-face--avant .tcg-illu { left: 0 !important; top: 0 !important; width: 100cqw !important; }
.tcg-carte.tcg--fa8 .tcg-face--avant .tcg-illu { left: 0 !important; top: 0 !important; width: 100cqw !important; }
.tcg--fa5 .tcg-fa-fond { left: 0 !important; top: 0 !important; width: 100cqw !important; height: calc(100cqw * 88 / 63) !important; }
.tcg--fa8 .tcg-fa-fond { left: 0 !important; top: 0 !important; width: 100cqw !important; height: calc(100cqw * 88 / 63) !important; }


/* ================================================================ FULL ART — VERSION 6 (V3 sans parallaxe)
 * La V3 sans parallaxe : image, prolongement et bande immobiles, image à sa taille réelle. */
.tcg--fa6 .tcg-fa-fond, .tcg-carte.tcg--fa6 .tcg-face--avant .tcg-illu, .tcg--fa6 .tcg-fa-bande { translate: none !important; transition: none !important; }
.tcg--fa7 .tcg-fa-fond, .tcg-carte.tcg--fa7 .tcg-face--avant .tcg-illu, .tcg--fa7 .tcg-fa-bande { translate: none !important; transition: none !important; }
.tcg--fa9 .tcg-fa-fond, .tcg-carte.tcg--fa9 .tcg-face--avant .tcg-illu, .tcg--fa9 .tcg-fa-bande { translate: none !important; transition: none !important; }
.tcg--fa10 .tcg-fa-fond, .tcg-carte.tcg--fa10 .tcg-face--avant .tcg-illu, .tcg--fa10 .tcg-fa-bande { translate: none !important; transition: none !important; }
.tcg-carte.tcg--fa6 .tcg-face--avant .tcg-illu { left: 0 !important; top: 0 !important; width: 100cqw !important; }
.tcg-carte.tcg--fa7 .tcg-face--avant .tcg-illu { left: 0 !important; top: 0 !important; width: 100cqw !important; }
.tcg-carte.tcg--fa9 .tcg-face--avant .tcg-illu { left: 0 !important; top: 0 !important; width: 100cqw !important; }
.tcg-carte.tcg--fa10 .tcg-face--avant .tcg-illu { left: 0 !important; top: 0 !important; width: 100cqw !important; }
.tcg--fa6 .tcg-fa-fond { left: 0 !important; top: 0 !important; width: 100cqw !important; height: calc(100cqw * 88 / 63) !important; }
.tcg--fa7 .tcg-fa-fond { left: 0 !important; top: 0 !important; width: 100cqw !important; height: calc(100cqw * 88 / 63) !important; }
.tcg--fa9 .tcg-fa-fond { left: 0 !important; top: 0 !important; width: 100cqw !important; height: calc(100cqw * 88 / 63) !important; }
.tcg--fa10 .tcg-fa-fond { left: 0 !important; top: 0 !important; width: 100cqw !important; height: calc(100cqw * 88 / 63) !important; }


/* ================================================================ FULL ART — VERSION 7 (V6 sans contour)
 * La V6 sans le filet de bord à la couleur de la rareté. */
.tcg--fa7 .tcg-fa-filet { display: none !important; }
.tcg--fa9 .tcg-fa-filet { display: none !important; }
.tcg--fa10 .tcg-fa-filet { display: none !important; }


/* ================================================================ FULL ART — VERSION 8 (V5 sans contour)
 * La V5 sans le contour de rareté sur le bord intérieur du cadre. */
.tcg--fa8 .tcg-fa-cadre { display: none !important; }


/* ================================================================ FULL ART — VERSION 9 (V7, bande au bord)
 * La V7 (V3 sans parallaxe, sans contour), avec la bande billet collée au bord droit de la
 * carte, sur toute la hauteur. */
.tcg--fa9 .tcg-fa-bande { right: 0 !important; top: -6cqw !important; bottom: -6cqw !important; height: auto !important; translate: none !important;
    -webkit-mask: none !important; mask: none !important; }
.tcg--fa10 .tcg-fa-bande { right: 0 !important; top: -6cqw !important; bottom: -6cqw !important; height: auto !important; translate: none !important;
    -webkit-mask: none !important; mask: none !important; }

/* ================================================================ V9 : retouches
 * - le bloc puissance s'écarte de la bande ; sa grande doublure en contour est un peu plus épaisse ;
 * - le bas : un fondu plus long et plus progressif entre l'image et la zone du descriptif,
 *   légèrement teinté de la couleur du bas de l'image ;
 * - la bande : un reflet net, comme sur un vrai fil de sécurité, qui parcourt la bande de haut
 *   en bas avec l'inclinaison. */
.tcg--fa9 .tcg-fa-puissance { right: 9cqw !important; }
.tcg--fa10 .tcg-fa-puissance { right: 9cqw !important; }
.tcg--fa9 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .32cqw !important; }
.tcg--fa10 .tcg-fa-puissance__mot { -webkit-text-stroke-width: .32cqw !important; }
.tcg--fullart.tcg--fa9 .tcg-face--avant::before {
    background: linear-gradient(180deg, transparent 70cqw,
        color-mix(in srgb, var(--fa-bas, #000) 22%, rgba(0, 0, 0, .14)) 82cqw,
        color-mix(in srgb, var(--fa-bas, #000) 30%, rgba(0, 0, 0, .38)) 94cqw,
        color-mix(in srgb, var(--fa-bas, #000) 26%, rgba(0, 0, 0, .66)) 106cqw,
        color-mix(in srgb, var(--fa-bas, #000) 18%, rgba(0, 0, 0, .86)) 118cqw,
        rgba(0, 0, 0, .94) 130cqw, rgba(0, 0, 0, .96) 100%) !important; }
.tcg--fullart.tcg--fa10 .tcg-face--avant::before {
    background: linear-gradient(180deg, transparent 70cqw,
        color-mix(in srgb, var(--fa-bas, #000) 22%, rgba(0, 0, 0, .14)) 82cqw,
        color-mix(in srgb, var(--fa-bas, #000) 30%, rgba(0, 0, 0, .38)) 94cqw,
        color-mix(in srgb, var(--fa-bas, #000) 26%, rgba(0, 0, 0, .66)) 106cqw,
        color-mix(in srgb, var(--fa-bas, #000) 18%, rgba(0, 0, 0, .86)) 118cqw,
        rgba(0, 0, 0, .94) 130cqw, rgba(0, 0, 0, .96) 100%) !important; }
.tcg--fa9 .tcg-fa-bande::before { content: ""; position: absolute; left: 0; right: 0; height: 22%; pointer-events: none; z-index: 2;
    top: calc(39% + var(--tcg-ty, 0) * 45%);
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .15) 35%, rgba(255, 255, 255, .85) 50%, rgba(255, 255, 255, .15) 65%, transparent);
    mix-blend-mode: screen; opacity: .5; transition: opacity .3s, top .5s cubic-bezier(.2, .8, .2, 1); }
.tcg--fa10 .tcg-fa-bande::before { content: ""; position: absolute; left: 0; right: 0; height: 22%; pointer-events: none; z-index: 2;
    top: calc(39% + var(--tcg-ty, 0) * 45%);
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .15) 35%, rgba(255, 255, 255, .85) 50%, rgba(255, 255, 255, .15) 65%, transparent);
    mix-blend-mode: screen; opacity: .5; transition: opacity .3s, top .5s cubic-bezier(.2, .8, .2, 1); }
.tcg-carte.tcg--fa9.is-suit .tcg-fa-bande::before { opacity: 1; transition: opacity .3s; }
.tcg-carte.tcg--fa10.is-suit .tcg-fa-bande::before { opacity: 1; transition: opacity .3s; }

/* ================================================================ full art holo / métal : même intensité partout
 * En « lumière douce », l'holo ne se voyait que sur les tons moyens (le prolongement flou du
 * bas) et disparaissait sur les noirs et les blancs de l'image : fort en bas, absent en haut.
 * En « superposition claire » et léger, il réagit pareil sur toute la carte, comme une vraie
 * feuille holographique (il irise aussi les zones sombres). */
.tcg-carte.tcg--fullart.tcg--holo .tcg-face--avant .tcg-holo { z-index: 3 !important; mix-blend-mode: screen !important; opacity: .09 !important; }
.tcg-carte.is-suit.tcg--fullart.tcg--holo .tcg-face--avant .tcg-holo { opacity: .17 !important; }
.tcg-carte.tcg--fullart.tcg--holo-nb .tcg-face--avant .tcg-holo { opacity: .16 !important; }
.tcg-carte.is-suit.tcg--fullart.tcg--holo-nb .tcg-face--avant .tcg-holo { opacity: .3 !important; }


/* ================================================================ FULL ART — VERSION 10 (V9 + métal chromé)
 * En version métal (noir et blanc) :
 * - une courbe de tons « chrome » (filtre SVG #tcg-chrome) : niveaux de gris, courbe en S très
 *   marquée avec une légère inversion dans les tons moyens, ombres légèrement bleutées ;
 * - un reflet d'environnement : des bandes horizontales nettes (ciel clair, horizon sombre,
 *   sol clair…) qui glissent avec l'inclinaison, à arêtes vives. */
.tcg--fa10.tcg--holo-nb .tcg-illu img, .tcg--fa10.tcg--holo-nb .tcg-fa-fond { filter: url(#tcg-chrome) !important; }
.tcg-chrome { position: absolute; inset: 0; z-index: 3; pointer-events: none; mix-blend-mode: overlay; opacity: .55; transition: opacity .3s;
    background:
        linear-gradient(180deg,
            #fff 0, #e9eef4 9%, #9aa6b4 15%, #2a313a 17.5%, #0d1014 21%, #5c6673 27%, #dfe6ee 33%, #fff 36%,
            #c3ccd6 44%, #1a1f26 46.5%, #0b0d10 52%, #6f7a88 58%, #f2f6fa 64%, #fff 67%,
            #aab4c0 75%, #20262e 77.5%, #0d1014 83%, #6c7785 90%, #eef3f8 97%, #fff 100%)
        0 calc(50% + var(--tcg-ty, 0) * 50% + (var(--tcg-px, .5) - .5) * 30%) / 100% 220%;
    -webkit-mask: linear-gradient(180deg, #000 60%, transparent 92%); mask: linear-gradient(180deg, #000 60%, transparent 92%); }
.tcg-carte.is-suit .tcg-chrome { opacity: .75; }

/* V10 : plus de bandes de reflet d'environnement. À la place, les arêtes de l'image (détection
 * de contours) brillent comme les arêtes d'une pièce de métal usinée, avec un fin brossage ;
 * léger au repos, net sous la tache de lumière. */
.tcg-chrome { display: none !important; }
.tcg-chrome-aretes { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.tcg-chrome-aretes::before, .tcg-chrome-aretes::after { content: ""; position: absolute; inset: 0; }
.tcg-chrome-aretes::before { background: var(--fa-aretes, none) center / cover no-repeat; mix-blend-mode: screen; opacity: .32; transition: opacity .3s; }
.tcg-carte.is-suit .tcg-chrome-aretes::before { opacity: .5; }
.tcg-chrome-aretes::after { mix-blend-mode: overlay; opacity: 0; transition: opacity .3s;
    background: var(--fa-aretes, none) center / cover no-repeat, repeating-linear-gradient(90deg, rgba(255, 255, 255, .22) 0 .1cqw, rgba(0, 0, 0, .12) .1cqw .32cqw);
    -webkit-mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, transparent 45%);
    mask: radial-gradient(circle at calc((var(--tcg-tx, 0) + 1) * 50%) calc((var(--tcg-ty, 0) + 1) * 50%), #000, transparent 45%); }
.tcg-carte.is-suit .tcg-chrome-aretes::after { opacity: 1; }

/* Arêtes chromées, plus prononcées, sur toutes les cartes métal. */
.tcg-chrome-aretes::before { opacity: .55 !important; }
.tcg-carte.is-suit .tcg-chrome-aretes::before { opacity: .85 !important; }
.tcg-chrome-aretes::after { background: var(--fa-aretes, none) center / cover no-repeat, var(--fa-aretes, none) center / cover no-repeat,
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .3) 0 .1cqw, rgba(0, 0, 0, .16) .1cqw .32cqw) !important; }

/* Arêtes chromées : plus sélectives (seuls les contours marqués) et un peu plus discrètes. */
.tcg-chrome-aretes::before { opacity: .38 !important; }
.tcg-carte.is-suit .tcg-chrome-aretes::before { opacity: .62 !important; }
/* Arêtes chromées : sans les stries de métal brossé (seules les arêtes, renforcées sous la lumière). */
.tcg-chrome-aretes::after { background: var(--fa-aretes, none) center / cover no-repeat, var(--fa-aretes, none) center / cover no-repeat !important; }

/* ================================================================ le booster 3D (WebGL)
 * Un canvas transparent, plus haut que le sachet (place pour pencher et arracher la languette). */
.tcg-booster--3d { --h3d: min(86vh, 150vw); width: calc(var(--h3d) * .62) !important; height: var(--h3d); aspect-ratio: auto !important;
    filter: none !important; transform: none !important; background: none; container-type: normal; }
.tcg-booster--3d:hover { transform: none !important; }
.tcg-booster--3d canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; }
.tcg-scene__table > .tcg-booster--3d { pointer-events: auto; }
.tcg-salle .tcg-booster--3d { --h3d: min(86vh, 140vw); }
.tcg-labo__section .tcg-scene .tcg-booster--3d { --h3d: min(30rem, 120vw); }

/* ================================================================ le boîtier de notation (3D)
 * La carte HTML en 3D (même caméra que le WebGL), le canvas de l'acrylique par-dessus. */
.tcg-boitier { position: relative; width: 100%; height: 100%; }
.tcg-boitier__scene { position: absolute; inset: 0; perspective-origin: 50% 50%; overflow: hidden; pointer-events: none; }
.tcg-boitier__carte { position: absolute; left: 50%; top: 50%; translate: -50% -50%; transform-style: preserve-3d; }
.tcg-boitier__carte > .tcg-carte { width: 100%; transform-style: preserve-3d; perspective: none; }
.tcg-boitier__carte .tcg-face { box-shadow: 0 0 0 1px rgba(0, 0, 0, .3), 0 .15em .5em rgba(0, 0, 0, .22); }
.tcg-boitier__ombre { position: absolute; left: 50%; top: 90%; width: 50%; aspect-ratio: 8 / 1; translate: -50% -55%; pointer-events: none;
    border-radius: 50%; background: radial-gradient(closest-side, rgba(20, 22, 28, .38), rgba(20, 22, 28, .16) 55%, rgba(20, 22, 28, 0)); filter: blur(4px); }
.tcg-boitier__verre { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; touch-action: none; }
.tcg-boitier__verre:active { cursor: grabbing; }

/* ---------- Boîtier : animation de notation ---------- */
.tcg-boitier__fx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.tcg-boitier__scan { position: absolute; inset: 0; transform: translateZ(calc(var(--tcg-largeur, 300px) * .035)); pointer-events: none; opacity: 0; border-radius: 4.6% / 3.3%; overflow: hidden;
    font-size: calc(var(--tcg-largeur, 300px) * .04); --scan: 0; }
.tcg-boitier__defauts { position: absolute; inset: 0; width: 100%; height: 100%; mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .28) 0, rgba(0, 0, 0, .28) calc(var(--scan) * 100% - 16%), #000 calc(var(--scan) * 100% - 1%), transparent calc(var(--scan) * 100% + 1.5%));
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .28) 0, rgba(0, 0, 0, .28) calc(var(--scan) * 100% - 16%), #000 calc(var(--scan) * 100% - 1%), transparent calc(var(--scan) * 100% + 1.5%)); }
.tcg-boitier__rasante { position: absolute; left: 0; right: 0; height: 24%; top: calc(var(--scan) * 100% - 24%); mix-blend-mode: soft-light;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .55)); }
.tcg-boitier__faisceau { position: absolute; left: 0; right: 0; height: 2px; top: calc(var(--scan) * 100% - 1px);
    background: linear-gradient(90deg, transparent, #fff 12%, #fff 88%, transparent);
    box-shadow: 0 -2px 0 rgba(120, 200, 255, .55), 0 2px 0 rgba(255, 150, 210, .45),
        0 0 6px 1px rgba(255, 255, 255, .9), 0 0 30px 8px rgba(170, 215, 255, .4); }
/* Un léger reflet irisé qui précède la ligne (la lumière qui glisse sur le vernis). */
.tcg-boitier__faisceau::after { content: ''; position: absolute; left: 0; right: 0; top: 2px; height: calc(var(--tcg-largeur, 300px) * .1); mix-blend-mode: screen; opacity: .5;
    background: linear-gradient(180deg, rgba(255, 255, 255, .5), transparent),
        linear-gradient(90deg, rgba(255, 120, 200, .35), rgba(120, 220, 255, .35), rgba(255, 240, 140, .35), rgba(140, 255, 200, .35), rgba(255, 120, 200, .35));
    -webkit-mask-image: linear-gradient(180deg, #000, transparent); mask-image: linear-gradient(180deg, #000, transparent); }
.tcg-boitier__releve { position: absolute; left: 50%; bottom: 3.5%; width: min(78%, 22rem); translate: -50% 0; pointer-events: none;
    font: 600 .78rem/1.1 ui-monospace, Menlo, monospace; color: #1c2027; letter-spacing: .06em; --accent: #9fd8ff; }
.tcg-boitier__ligne, .tcg-boitier__total { opacity: 0; transform: translateY(.5rem); transition: opacity .35s, transform .35s; }
.tcg-boitier__releve.is-on .tcg-boitier__ligne, .tcg-boitier__releve.is-on .tcg-boitier__total { opacity: 1; transform: none; }
.tcg-boitier__releve.is-fin .tcg-boitier__ligne, .tcg-boitier__releve.is-fin .tcg-boitier__total { opacity: 0; transition-delay: 0s !important; }
.tcg-boitier__ligne { display: grid; grid-template-columns: 9.5em 1fr 2.4em; gap: .6em; align-items: center; margin: .28em 0; text-transform: uppercase; }
.tcg-boitier__ligne i { height: .35em; background: rgba(28, 32, 39, .12); border-radius: 1em; overflow: hidden; }
.tcg-boitier__ligne b { display: block; height: 100%; background: #1c2027; border-radius: 1em; }
.tcg-boitier__ligne em { font-style: normal; text-align: right; }
.tcg-boitier__total { display: flex; align-items: baseline; justify-content: center; gap: .6em; margin-top: .5em; }
.tcg-boitier__total b { font: 800 1.9rem/1 "TCG Oxanium", "TCG Barlow", sans-serif; color: #1c2027; text-shadow: 0 0 .6em var(--accent); }
.tcg-boitier__total span { font-weight: 700; letter-spacing: .2em; }
/* Sur fond noir (notation en plein écran). */
.is-noir .tcg-boitier__releve { color: #d9dde4; }
.is-noir .tcg-boitier__ligne i { background: rgba(255, 255, 255, .14); }
.is-noir .tcg-boitier__ligne b { background: #e9edf3; }
.is-noir .tcg-boitier__total b { color: #fff; }
.is-noir .tcg-boitier__ombre { opacity: 0 !important; }
