/* Cartes */
.card{
  position: relative;
  width: var(--card-w);
  margin: 0 auto;
  overflow: visible;
  text-decoration: none;
  color: inherit;
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35), 0 2px 10px rgba(0, 0, 0, .25);
  display: grid;
  grid-template-rows: var(--cover-h) auto;
}

.cover-area{ position: relative; height: var(--cover-h); overflow: visible }
.wrapper{ position: absolute; inset: 0; overflow: hidden; z-index: 0 }
.cover{ position: absolute; inset: 0 }

.title{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 12px 14px;
  text-align: left;
  font-weight: 900;
  color: #fff;
  letter-spacing: .02em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.title::before{
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 70%;
  background: linear-gradient(0deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  z-index: -1;
}

.character{
  position: absolute;
  left: 50%;
  bottom: 8px;
  z-index: 1;
  display: block;
  pointer-events: none;
  transform: translateX(-50%);
  width: auto;
  height: calc(var(--cover-h) - 16px);
  max-width: 92%;
  object-fit: contain;
  filter: drop-shadow(0 20px 24px rgba(0, 0, 0, .35));
}

.info{ padding: 10px 12px; display: grid; gap: 8px; }

.types{ display: flex; gap: 6px; flex-wrap: wrap }
.chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: .8rem;
  font-weight: 800;
  border: 1px solid var(--border);
  background: #0b1220;
  color: #e5e7eb;
}
.chip img{ width: 14px; height: 14px; object-fit: contain }

/* Faux “attaques” (structure prête si besoin) */
.moves{ list-style:none; margin:0; padding:0; display:grid; gap:6px }
.move{
  display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  padding: 6px 8px;
}
.cost{ display:inline-flex; gap:4px }
.energy{
  width:14px; height:14px; border-radius:999px; border:1px solid rgba(0,0,0,.2); display:inline-block
}
.e-l{ background: radial-gradient(circle at 30% 30%, #fff, #fde68a 40%, #f59e0b 100%) }
.e-w{ background: radial-gradient(circle at 30% 30%, #fff, #93c5fd 45%, #60a5fa 100%) }
.e-c{ background: radial-gradient(circle at 30% 30%, #fff, #e5e7eb 45%, #cbd5e1 100%) }
.m-name{ font-weight:900; white-space:normal; overflow:visible; text-overflow:clip }
.m-dmg{ font-weight:900 }

.meta{
  display:flex; align-items:center; justify-content:space-between;
  font-size:.8rem; color:var(--muted)
}
.star{
  width:12px; height:12px; display:inline-block;
  background: conic-gradient(#fcd34d, #fde68a, #fef3c7, #fcd34d);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

/* Bouton Voir + (ouvre modal) */
details.details{
  padding:0;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background: rgba(255,255,255,.02);
}
details.details>summary{
  list-style:none; cursor:pointer; user-select:none;
  padding:10px 12px; font-weight:900;
  display:flex; align-items:center; justify-content:space-between;
}
details.details>summary::-webkit-details-marker{ display:none }
details.details>summary::after{
  content:"Voir +";
  font-weight:900;
  border:1px solid rgba(255,255,255,.12);
  padding:6px 10px;
  border-radius:999px;
  background:#0b1220;
  color:#e5e7eb;
}

/* On n’utilise plus le panneau inline */
.details__content{ display:none !important }
