/* v241 — 사용자 요청: 연출창 텍스트 제거/이미지 꽉 채움, 상점·덱 아이콘 정리, 랜덤 비율 글씨 확대, 전술 이펙트 강화 */

/* 1) 실제 애니메이션 화면만 텍스트를 숨기고 이미지가 박스를 가득 채우도록 한다.
   카드 원본/카드관리 이미지 비율·레이아웃 값은 건드리지 않는다. */
.left-card-effect-card.action-view-mode .left-card-effect-title,
.left-card-effect-stage-badge,
.left-card-effect-stage .hq-card-scene .scene-label,
.left-card-effect-stage .hq-card-scene .scene-effect-caption,
.battlefield-card-scene .scene-label,
.battlefield-card-scene .scene-effect-caption,
.battle-hq .hq-card-scene:not(.stage-preview) .scene-label,
.battle-hq .hq-card-scene:not(.stage-preview) .scene-effect-caption{
  display:none!important;
}
body.unified-left-layout:not(.ui-mode-mobile-preview) .left-card-effect-card.action-view-mode,
.left-card-effect-card.action-view-mode{
  grid-template-rows:minmax(0,1fr)!important;
  gap:0!important;
}
body.unified-left-layout:not(.ui-mode-mobile-preview) .left-card-effect-stage,
.left-card-effect-stage{
  padding:0!important;
  overflow:hidden!important;
  background:#04080e!important;
}
body.unified-left-layout:not(.ui-mode-mobile-preview) .left-card-effect-stage>.hq-card-scene.left-effect-preview-scene,
.left-card-effect-stage>.hq-card-scene.left-effect-preview-scene{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
}
.left-card-effect-stage .hq-card-scene.left-effect-preview-scene .scene-entry-motion,
.battlefield-card-scene .scene-entry-motion,
.battle-hq .hq-card-scene:not(.stage-preview) .scene-entry-motion{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  clip-path:none!important;
}
.left-card-effect-stage .hq-card-scene.left-effect-preview-scene img,
.left-card-effect-stage .hq-card-scene.left-effect-preview-scene .scene-entry-motion>img,
.battlefield-card-scene img,
.battlefield-card-scene .scene-entry-motion>img,
.battle-hq .hq-card-scene:not(.stage-preview) img,
.battle-hq .hq-card-scene:not(.stage-preview) .scene-entry-motion>img{
  position:absolute!important;
  inset:0!important;
  margin:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:var(--scene-x,50%) var(--scene-y,50%)!important;
  transform-origin:var(--scene-x,50%) var(--scene-y,50%)!important;
}
/* 이전 버전에서 PC 연출창의 오버레이를 숨기던 규칙을 되돌려 실제 효과는 보이게 한다. */
.left-card-effect-stage .hq-card-scene.left-effect-preview-scene .scene-shade,
.left-card-effect-stage .hq-card-scene.left-effect-preview-scene .scene-energy,
.left-card-effect-stage .hq-card-scene.left-effect-preview-scene .scene-particles{
  display:block!important;
}

/* 2) 덱 편집 UI */
.deck-builder-name-input{min-width:170px!important}
.deck-auto-ratio-inline,
.deck-auto-ratio-inline label,
.deck-auto-ratio-inline button{
  font-size:14px!important;
}
.deck-auto-ratio-inline label{
  font-weight:900!important;
  color:#f7e6b5!important;
}
.deck-auto-ratio-inline input{
  font-size:15px!important;
  font-weight:900!important;
  min-height:31px!important;
}

/* 3) 덱편집/카드상점 좌하단 병과 아이콘 중복 제거.
   v240 cardVisual 내부 역할/병과 아이콘만 남기며 EN 표시는 유지한다. */
.deck-builder-visual-card .collection-card-icons .collection-type-icon,
.deck-builder-visual-card .collection-card-icons .collection-soldier-icon,
.card-shop-grid .collection-card-icons .collection-type-icon,
.card-shop-grid .collection-card-icons .collection-soldier-icon{
  display:none!important;
}

/* 4) 화공 지속 중 카드 하단에 실제 불꽃이 일렁이는 느낌 */
.unit.v241-burning .uimg{
  box-shadow:0 0 0 1px #ffcc7730,0 0 22px #ff7b2d66!important;
}
.unit.v241-burning .uimg::before{
  content:'';
  position:absolute;
  left:3%;right:3%;bottom:-1px;height:31%;
  pointer-events:none;z-index:12;
  background:
    radial-gradient(ellipse at 12% 100%,#fff7c7 0 7%,#ffc14d 11%,#ff6e20 25%,transparent 45%),
    radial-gradient(ellipse at 35% 100%,#fff3ac 0 8%,#ffa936 14%,#ff4d14 33%,transparent 51%),
    radial-gradient(ellipse at 60% 100%,#fff8c7 0 7%,#ffc54b 13%,#ff6c1d 29%,transparent 49%),
    radial-gradient(ellipse at 82% 100%,#ffeaa0 0 7%,#ff9a2a 14%,#ff4718 32%,transparent 50%),
    radial-gradient(ellipse at 96% 100%,#fff2aa 0 6%,#ffb23a 13%,#ff5b18 30%,transparent 48%);
  filter:drop-shadow(0 0 9px #ff8a2a);
  animation:v241FireLick .72s ease-in-out infinite alternate;
}
.unit.v241-burning .uimg::after{
  content:'';
  position:absolute;
  left:7%;right:7%;bottom:14%;height:34%;
  pointer-events:none;z-index:11;
  background:linear-gradient(180deg,transparent,#ffb34a55 52%,#ff541c2d 100%);
  filter:blur(7px);
  animation:v241HeatWave .2s linear infinite alternate;
}
@keyframes v241FireLick{from{transform:translateY(7%) scaleY(.84) skewX(-1deg)}to{transform:translateY(-7%) scaleY(1.18) skewX(1deg)}}
@keyframes v241HeatWave{from{transform:skewX(-1.4deg) translateX(-1px)}to{transform:skewX(1.4deg) translateX(1px)}}

/* 낙뢰: 번개 직격 후 카드 주위를 감싸는 감전 아크 */
.v241-electric-arc{
  position:fixed;width:104px;height:104px;pointer-events:none;z-index:10003;
  transform:translate(-50%,-50%);
}
.v241-electric-arc::before,.v241-electric-arc::after{
  content:'';position:absolute;inset:7px;border-radius:50%;
  border:2px solid rgba(210,248,255,.92);
  box-shadow:0 0 10px #fff,0 0 24px #70d8ff,inset 0 0 16px #b5edff;
  clip-path:polygon(50% 0,60% 19%,80% 8%,72% 37%,100% 48%,75% 61%,91% 86%,61% 76%,50% 100%,39% 75%,10% 88%,25% 60%,0 50%,26% 39%,14% 12%,40% 22%);
  animation:v241ElectricArc .72s steps(2,end) forwards;
}
.v241-electric-arc::after{inset:20px;opacity:.8;animation-delay:.07s;transform:rotate(25deg)}
@keyframes v241ElectricArc{0%{opacity:0;transform:scale(.25) rotate(-20deg)}18%{opacity:1}55%{opacity:.92}100%{opacity:0;transform:scale(1.35) rotate(28deg)}}

/* 화공: 카드 위로 터지는 화염 */
.v241-fire-burst{
  position:fixed;width:132px;height:132px;pointer-events:none;z-index:10003;
  transform:translate(-50%,-50%);
}
.v241-fire-burst::before,.v241-fire-burst::after{
  content:'';position:absolute;left:50%;bottom:4px;width:112px;height:112px;transform:translateX(-50%);
  background:radial-gradient(circle at 50% 88%,#fff7c8 0 8%,#ffc54b 16%,#ff6a1e 35%,rgba(142,15,0,.45) 56%,transparent 74%);
  filter:drop-shadow(0 0 12px #ff6a1d);
  clip-path:polygon(50% 0,60% 13%,69% 28%,82% 15%,76% 43%,95% 37%,84% 60%,100% 73%,76% 70%,84% 98%,61% 82%,50% 100%,38% 82%,15% 98%,24% 70%,0 73%,17% 59%,6% 38%,24% 43%,17% 15%,31% 28%,39% 13%);
  animation:v241FireBurst .86s ease-out forwards;
}
.v241-fire-burst::after{width:62px;height:84px;bottom:18px;opacity:.86;animation-delay:.06s}
@keyframes v241FireBurst{0%{opacity:0;transform:translateX(-50%) scale(.3) translateY(14px)}22%{opacity:1}100%{opacity:0;transform:translateX(-50%) scale(1.35) translateY(-22px)}}

/* 강풍: 대상 카드 주위에 두 겹의 돌풍 + 카드 흔들림 */
.v241-gust{
  position:fixed;width:164px;height:96px;pointer-events:none;z-index:10003;
  transform:translate(-50%,-50%);
}
.v241-gust::before,.v241-gust::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  border-top:4px solid rgba(222,250,255,.98);
  border-bottom:4px solid rgba(105,190,231,.76);
  border-left:5px solid transparent;border-right:5px solid transparent;
  filter:drop-shadow(0 0 8px #86ddff);
  animation:v241GustSpin .84s ease-out forwards;
}
.v241-gust::after{inset:17px 12px 20px 18px;opacity:.82;animation-delay:.05s}
@keyframes v241GustSpin{0%{opacity:0;transform:rotate(-55deg) scale(.2)}22%{opacity:1}100%{opacity:0;transform:rotate(205deg) scale(1.2)}}
.unit.v241-wind-hit{animation:v241WindHit .56s ease-out}
@keyframes v241WindHit{0%{transform:translateX(0)}18%{transform:translateX(-8px) rotate(-1.2deg)}40%{transform:translateX(10px) rotate(1.5deg)}68%{transform:translateX(-4px)}100%{transform:translateX(0)}}
