/* ============================================================
   client/css/card-art.css — 原版图集卡面（atlas-art.js）的尺寸与动画
   卡面全量走原版精灵图（Jokers/Tarots/Enhancers…），无自绘 SVG。
   动画全走 transform/opacity（GPU 合成、不重排）；入场动画一次性，
   无常驻无限循环动画（功耗硬约束）。
   ============================================================ */

/* ── 尺寸：填入设计稿卡面图槽 .art（design-cards.js 各处统一吐 <span class="art">） ── */
.atlas-art-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  line-height: 0;
  image-rendering: pixelated;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.35));
}
/* fill：整卡铺满（小丑/塔罗/星球/幻灵/券/包/强化/印章）—— 百分比精灵，不再钉死 71×95 */
.atlas-art-wrap.fill {
  display: block;
  width: 100%;
  height: 100%;
  filter: none; /* 卡框自带阴影，去掉 sticker 式 drop-shadow */
}
.atlas-art-wrap.fill .atlas-art {
  width: 100%;
  height: 100%;
  flex: none;
  image-rendering: pixelated;
  border-radius: inherit;
}
.atlas-art {
  display: block;
  flex: 0 0 auto;
  transform: none;
  transform-origin: center;
  background-repeat: no-repeat;
}

/* 悬停微放大：仅指针精确设备（触屏不粘连 hover） */
@media (hover: hover) and (pointer: fine) {
  .jcard:hover .atlas-art-wrap:not(.fill) .atlas-art { transform: scale(1.04); transition: transform .18s; }
  .jcard.has-art:hover { transform: translateY(-2px); transition: transform .15s; }
}

/* ── 入场动画（仅商店/选秀加 .jk-enter，对局内不加避免重渲染重放；一次性，非循环） ── */
@keyframes jkEnter {
  0%   { transform: scale(0.5) translateY(-10px) rotate(-8deg); opacity: 0; }
  60%  { transform: scale(1.08) translateY(2px) rotate(3deg); opacity: 1; }
  100% { transform: scale(1) translateY(0) rotate(0); opacity: 1; }
}
.atlas-art-wrap.jk-enter { animation: jkEnter 0.5s cubic-bezier(.18,.9,.3,1.2) both; }

/* 选中态：无 fill 时放大精灵；fill 整卡由 outline 表达，避免裁切 */
.jcard.sel .atlas-art-wrap:not(.fill) .atlas-art { transform: scale(1.08); transition: transform .15s; }

/* ── 降级：减少动态 / 省电模式下连入场动画也停 ── */
@media (prefers-reduced-motion: reduce) {
  .atlas-art-wrap.jk-enter { animation: none !important; }
}
body.powersave .atlas-art-wrap.jk-enter { animation: none !important; }
