/* V1174 카드 고유 능력 대표 스탯 전투 이펙트
   수치 보정은 4종 모두 적용하고, 카드별 최고 양수 스탯 1종만 시각 발동한다. */
.unique-card-fx-host{position:relative;isolation:isolate;overflow:visible!important}
.unique-card-fx-host>.unique-card-fx{position:absolute;z-index:7;inset:-42%;display:block;pointer-events:none;opacity:0;overflow:visible;transform:translateZ(0)}
.unique-card-fx-host>.unique-card-fx>i,.unique-card-fx-host>.unique-card-fx>b{position:absolute;display:block;pointer-events:none}
.unique-card-fx-host>.unique-card-fx>b{z-index:12;left:50%;bottom:3%;padding:4px 8px;border:1px solid currentColor;border-radius:999px;background:rgba(3,9,18,.88);font-size:7px;font-style:normal;font-weight:1000;letter-spacing:.12em;line-height:1;white-space:nowrap;opacity:0;transform:translate(-50%,8px);text-shadow:0 0 9px currentColor}
.unique-card-fx-host>.battle-fighter-card,.unique-card-fx-host>.raid-main-attacker{position:relative;z-index:8}
.unique-card-fx-host.unique-fx-active>.unique-card-fx{opacity:1}
.unique-card-fx-host.unique-fx-active>.unique-card-fx>b{animation:uniqueFxName .8s ease-out both}

/* 공격형: 카드 중심 에너지 응축 + 미세 궤도 + 수평 잔상 */
.unique-fx-attack>.unique-card-fx{color:#ff867b}
.unique-fx-core{z-index:1;inset:16%;border-radius:50%;background:radial-gradient(circle,rgba(255,245,240,.88) 0 2%,rgba(255,102,89,.42) 8%,rgba(255,65,52,.16) 28%,transparent 64%);filter:blur(.3px);transform:scale(.42);opacity:0}
.unique-fx-arc{z-index:2;left:50%;top:50%;width:78%;height:78%;border:2px solid rgba(255,132,120,.78);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;opacity:0;transform:translate(-50%,-50%) rotate(-35deg) scale(.55)}
.unique-fx-arc.a2{width:104%;height:104%;border-color:rgba(255,197,188,.42);border-right-color:transparent;border-top-color:transparent;transform:translate(-50%,-50%) rotate(125deg) scale(.45)}
.unique-fx-velocity{z-index:10;left:2%;top:38%;width:96%;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.96) 35%,#ff8b80 58%,transparent);box-shadow:0 0 10px rgba(255,92,78,.78);opacity:0;transform:translateX(-52%) scaleX(.25)}
.unique-fx-velocity.v2{top:50%;width:82%;animation-delay:.06s}
.unique-fx-velocity.v3{top:61%;width:68%;animation-delay:.12s}
.unique-fx-attack.unique-fx-active .unique-fx-core{animation:uniqueAttackCore .78s cubic-bezier(.16,.82,.25,1) both}
.unique-fx-attack.unique-fx-active .unique-fx-arc{animation:uniqueAttackArc .9s ease-out both}
.unique-fx-attack.unique-fx-active .unique-fx-arc.a2{animation-delay:.06s}
.unique-fx-attack.unique-fx-active .unique-fx-velocity{animation:uniqueAttackVelocity .68s cubic-bezier(.2,.78,.18,1) both}

/* 방어형: 반투명 방패 + 육각 필드 + 피격 확산 파동 */
.unique-fx-defense>.unique-card-fx{color:#82e7ff}
.unique-fx-shield{z-index:9;left:50%;top:49%;width:76%;height:88%;clip-path:polygon(50% 0,90% 14%,97% 57%,80% 85%,50% 100%,20% 85%,3% 57%,10% 14%);border:2px solid rgba(143,232,255,.9);background:linear-gradient(180deg,rgba(103,217,255,.16),rgba(103,217,255,.025));box-shadow:inset 0 0 25px rgba(103,217,255,.18),0 0 20px rgba(103,217,255,.2);opacity:0;transform:translate(-50%,-50%) scale(.82)}
.unique-fx-hex{z-index:1;inset:3%;border-radius:50%;background:radial-gradient(circle,rgba(103,217,255,.34) 0 1.5px,transparent 2.2px) 0 0/18px 16px;mask-image:radial-gradient(circle,#000 0 46%,transparent 72%);opacity:0;transform:scale(.72) rotate(-10deg)}
.unique-fx-guard-ring{z-index:3;left:50%;top:50%;width:62%;height:62%;border:2px solid rgba(132,236,255,.7);border-radius:50%;box-shadow:0 0 20px rgba(80,213,255,.35);opacity:0;transform:translate(-50%,-50%) scale(.55)}
.unique-fx-defense.unique-fx-active .unique-fx-shield{animation:uniqueShield .95s ease-out both}
.unique-fx-defense.unique-fx-active .unique-fx-hex{animation:uniqueHex .95s ease-out both}
.unique-fx-defense.unique-fx-active .unique-fx-guard-ring{animation:uniqueGuardRing .85s ease-out both}

/* 속도형: 짧은 잔상 + 전방 가속선 */
.unique-fx-speed>.unique-card-fx{color:#c8f7ff}
.unique-fx-afterimage{z-index:2;left:50%;top:50%;width:42%;height:62%;border:2px solid rgba(183,243,255,.5);border-radius:12%;background:linear-gradient(90deg,rgba(140,230,255,.05),rgba(220,252,255,.13));opacity:0;transform:translate(-50%,-50%)}
.unique-fx-afterimage.a2{border-color:rgba(99,204,255,.3)}
.unique-fx-speed-line{z-index:10;right:0;top:34%;width:85%;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#e8fdff 58%,rgba(94,218,255,.9));box-shadow:0 0 8px rgba(91,218,255,.75);opacity:0;transform:translateX(-65%) scaleX(.22)}
.unique-fx-speed-line.s2{top:49%;width:106%;animation-delay:.04s}
.unique-fx-speed-line.s3{top:64%;width:72%;animation-delay:.09s}
.unique-fx-speed.unique-fx-active .unique-fx-afterimage.a1{animation:uniqueAfterimageOne .72s ease-out both}
.unique-fx-speed.unique-fx-active .unique-fx-afterimage.a2{animation:uniqueAfterimageTwo .72s .05s ease-out both}
.unique-fx-speed.unique-fx-active .unique-fx-speed-line{animation:uniqueSpeedLine .62s cubic-bezier(.1,.72,.2,1) both}

/* HP형: 빈사 구간 1회 생명 공명. 전투 수치나 HP를 추가 변경하지 않는 시각 효과 */
.unique-fx-hp>.unique-card-fx{color:#9af4bc}
.unique-fx-life-flash{z-index:1;left:50%;top:50%;width:84%;height:84%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.92),rgba(120,240,173,.24) 20%,transparent 61%);opacity:0;transform:translate(-50%,-50%) scale(.45)}
.unique-fx-heal-ring{z-index:6;left:50%;top:50%;width:66%;height:66%;border:2px solid rgba(154,244,188,.86);border-radius:50%;box-shadow:0 0 18px rgba(120,240,173,.45);opacity:0;transform:translate(-50%,-50%) scale(.48)}
.unique-fx-plus{z-index:10;color:#d6ffe6;font-size:14px;font-style:normal;font-weight:1000;text-shadow:0 0 9px rgba(120,240,173,.8);opacity:0}
.unique-fx-plus.p1{left:24%;top:48%}.unique-fx-plus.p2{right:23%;top:39%;animation-delay:.08s}.unique-fx-plus.p3{left:47%;top:24%;animation-delay:.16s}
.unique-fx-hp.unique-fx-active .unique-fx-life-flash{animation:uniqueLifeFlash 1.05s ease-out both}
.unique-fx-hp.unique-fx-active .unique-fx-heal-ring{animation:uniqueHealRing 1.18s ease-out both}
.unique-fx-hp.unique-fx-active .unique-fx-plus{animation:uniquePlusRise 1.12s ease-out both}

/* 레이드: 메인 공격 카드는 공격/속도, 내 덱은 보스 피격/빈사 이벤트에 맞춰 재생 */
.raid-attacker-card.unique-card-fx-host,.raid-stage-card.unique-card-fx-host{isolation:isolate;overflow:visible}
.raid-attacker-card.unique-card-fx-host>.unique-card-fx{inset:-28% -45% 8%}
.raid-attacker-card.unique-card-fx-host>.unique-card-fx>b{bottom:-2%}
.raid-stage-card.unique-card-fx-host>.unique-card-fx{inset:-34% -28% 4%;z-index:9}
.raid-stage-card.unique-card-fx-host>.raid-deck-frame{position:relative;z-index:8}
.raid-stage-card.unique-card-fx-host>.unique-card-fx>b{bottom:-3%;font-size:5px}

/* 상세 화면: 최고 수치만 대표 발동으로 강조 */
.unique-ability-stats .unique-stat.dominant{border-color:rgba(255,212,95,.62);background:linear-gradient(145deg,rgba(255,198,58,.13),rgba(31,55,78,.72));box-shadow:inset 0 0 18px rgba(255,194,54,.08),0 0 18px rgba(255,180,45,.08)}
.unique-ability-stats .unique-stat.dominant span em{display:block;margin-top:3px;color:#ffd86b;font-size:8px;font-style:normal;font-weight:1000;letter-spacing:.06em}
.card-ability-inline em.dominant{border-color:rgba(255,211,93,.55)!important;color:#ffe17f!important;background:rgba(255,190,45,.1)!important}

@keyframes uniqueFxName{0%{opacity:0;transform:translate(-50%,8px) scale(.82)}24%,72%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-5px) scale(.96)}}
@keyframes uniqueAttackCore{0%{opacity:0;transform:scale(.28)}28%{opacity:1;transform:scale(.72)}62%{opacity:.78;transform:scale(1.05)}100%{opacity:0;transform:scale(1.32)}}
@keyframes uniqueAttackArc{0%{opacity:0;transform:translate(-50%,-50%) rotate(-70deg) scale(.48)}25%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) rotate(150deg) scale(1.05)}}
@keyframes uniqueAttackVelocity{0%{opacity:0;transform:translateX(-58%) scaleX(.18)}22%{opacity:1}100%{opacity:0;transform:translateX(62%) scaleX(1)}}
@keyframes uniqueShield{0%{opacity:0;transform:translate(-50%,-50%) scale(.72);filter:brightness(2)}24%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}70%{opacity:.72;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes uniqueHex{0%{opacity:0;transform:scale(.65) rotate(-12deg)}30%{opacity:.48}100%{opacity:0;transform:scale(1.02) rotate(20deg)}}
@keyframes uniqueGuardRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.48)}28%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
@keyframes uniqueAfterimageOne{0%{opacity:0;transform:translate(-50%,-50%)}28%{opacity:.55}100%{opacity:0;transform:translate(-112%,-50%) scale(.9)}}
@keyframes uniqueAfterimageTwo{0%{opacity:0;transform:translate(-50%,-50%)}28%{opacity:.4}100%{opacity:0;transform:translate(-155%,-50%) scale(.8)}}
@keyframes uniqueSpeedLine{0%{opacity:0;transform:translateX(-72%) scaleX(.18)}24%{opacity:1}100%{opacity:0;transform:translateX(72%) scaleX(1.08)}}
@keyframes uniqueLifeFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}22%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.32)}}
@keyframes uniqueHealRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.42)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.48)}}
@keyframes uniquePlusRise{0%{opacity:0;transform:translateY(14px) scale(.62)}30%{opacity:1}100%{opacity:0;transform:translateY(-38px) scale(1.08)}}

@media(max-width:800px){
  .unique-card-fx-host>.unique-card-fx{inset:-54%}
  .unique-card-fx-host>.unique-card-fx>b{font-size:5px;padding:3px 5px}
  .unique-fx-plus{font-size:10px}
  .raid-attacker-card.unique-card-fx-host>.unique-card-fx{inset:-22% -34% 12%}
  .raid-stage-card.unique-card-fx-host>.unique-card-fx{inset:-42% -34% 2%}
}
@media(prefers-reduced-motion:reduce){
  .unique-card-fx-host>.unique-card-fx *{animation-duration:.001ms!important;animation-iteration-count:1!important}
}

/* V1173: 전투 카드 내부의 overflow/z-index에 가려지지 않도록 실제 발동 FX를 전투 스테이지 최상단에 복제한다. */
.unique-card-fx-host>.unique-card-fx{z-index:18}
.unique-stage-fx{
  position:absolute!important;z-index:46!important;display:block!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  opacity:1!important;transform:none!important;overflow:visible!important;pointer-events:none!important;isolation:isolate
}
.unique-stage-fx>.unique-card-fx{inset:-58%!important;z-index:1!important;opacity:1!important;overflow:visible!important}
.unique-stage-fx>.unique-card-fx>b{bottom:-2%;font-size:8px;padding:5px 9px;box-shadow:0 0 16px currentColor,0 6px 18px rgba(0,0,0,.56)}
.battle-card-fighter.unique-fx-source-active{filter:brightness(1.2) drop-shadow(0 0 14px currentColor)}
.battle-card-fighter.unique-fx-attack{color:#ff867b}.battle-card-fighter.unique-fx-defense{color:#82e7ff}.battle-card-fighter.unique-fx-speed{color:#c8f7ff}.battle-card-fighter.unique-fx-hp{color:#9af4bc}

/* V1173: 도감 고유 배지를 카드 좌상단이 아니라 카드 이름 오른쪽에 배치하고 최고 스탯 유형을 표시한다. */
.card-title-row{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%}
.card-title-row>.card-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-title-row>.card-unique-badge{
  position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  flex:0 0 auto;max-width:none;margin:0!important;padding:3px 5px!important;gap:3px!important;
  border-radius:6px!important;transform:none!important;box-shadow:0 2px 8px rgba(0,0,0,.35)!important;backdrop-filter:none
}
.card-title-row>.card-unique-badge:hover,.card-title-row>.card-unique-badge:focus-visible{transform:translateY(-1px)!important}
.card-title-row>.card-unique-badge i{font-size:7px!important}.card-title-row>.card-unique-badge b{font-size:6px!important;letter-spacing:0!important;white-space:nowrap}.card-title-row>.card-unique-badge small{display:none!important}
.card-frame.small .card-title-row{gap:3px}.card-frame.small .card-title-row>.card-unique-badge{padding:2px 3px!important}.card-frame.small .card-title-row>.card-unique-badge i{display:none}.card-frame.small .card-title-row>.card-unique-badge b{font-size:5px!important}
.card-frame.locked .card-title-row>.card-unique-badge{opacity:.94}

.card-unique-badge.unique-type-attack,.card-ability-inline.unique-type-attack,.profile-status.unique-type-attack,.profile-ability-mark.unique-type-attack{border-color:rgba(255,118,103,.62);background:linear-gradient(135deg,rgba(67,17,20,.94),rgba(112,34,30,.9));color:#ffd6d0}
.card-unique-badge.unique-type-defense,.card-ability-inline.unique-type-defense,.profile-status.unique-type-defense,.profile-ability-mark.unique-type-defense{border-color:rgba(103,218,255,.62);background:linear-gradient(135deg,rgba(5,37,65,.94),rgba(12,76,105,.9));color:#d8f8ff}
.card-unique-badge.unique-type-speed,.card-ability-inline.unique-type-speed,.profile-status.unique-type-speed,.profile-ability-mark.unique-type-speed{border-color:rgba(121,240,255,.62);background:linear-gradient(135deg,rgba(7,45,60,.94),rgba(15,91,108,.9));color:#dcfbff}
.card-unique-badge.unique-type-hp,.card-ability-inline.unique-type-hp,.profile-status.unique-type-hp,.profile-ability-mark.unique-type-hp{border-color:rgba(112,239,165,.62);background:linear-gradient(135deg,rgba(7,54,37,.94),rgba(18,101,67,.9));color:#dfffea}
.card-unique-badge.unique-type-attack i,.recent-unique-tag.unique-type-attack{color:#ff9c92}.card-unique-badge.unique-type-defense i,.recent-unique-tag.unique-type-defense{color:#8eeaff}.card-unique-badge.unique-type-speed i,.recent-unique-tag.unique-type-speed{color:#a9f5ff}.card-unique-badge.unique-type-hp i,.recent-unique-tag.unique-type-hp{color:#9af4bc}
.card-unique-badge.owner-test,.card-ability-inline.owner-test,.profile-status.owner-test,.profile-ability-mark.owner-test{border-color:rgba(206,161,255,.55);background:linear-gradient(135deg,rgba(39,18,67,.95),rgba(61,31,96,.92));color:#eadbff}

@media(max-width:800px){
  .unique-stage-fx>.unique-card-fx{inset:-72%!important}
  .unique-stage-fx>.unique-card-fx>b{font-size:6px;padding:4px 6px}
  .card-title-row>.card-unique-badge{padding:2px 3px!important}.card-title-row>.card-unique-badge i{display:none}.card-title-row>.card-unique-badge b{font-size:5px!important}
}


/* V1174: 공격형은 카드 전면이 아니라 공격자와 대상 사이의 충돌 지점에서 발동한다. */
.unique-stage-fx.unique-fx-between-targets{
  z-index:47!important;
}
.unique-stage-fx.unique-fx-between-targets>.unique-card-fx{
  inset:-22%!important;
}
.unique-stage-fx.unique-fx-between-targets>.unique-card-fx>b{
  bottom:-8%;
  font-size:9px;
  padding:5px 10px;
}
.unique-stage-fx.unique-fx-between-targets .unique-fx-core{
  inset:9%;
}
.unique-stage-fx.unique-fx-between-targets .unique-fx-arc.a1{width:86%;height:86%}
.unique-stage-fx.unique-fx-between-targets .unique-fx-arc.a2{width:116%;height:116%}
.unique-stage-fx.unique-fx-between-targets .unique-fx-velocity{left:-9%;width:118%;height:4px}
.unique-stage-fx.unique-fx-between-targets .unique-fx-velocity.v2{width:104%}
.unique-stage-fx.unique-fx-between-targets .unique-fx-velocity.v3{width:88%}
.unique-stage-fx.unique-fx-between-targets.unique-fx-reverse .unique-fx-velocity{
  animation-name:uniqueAttackVelocityReverse!important;
  transform:translateX(52%) scaleX(.25);
}
.battle-card-fighter.unique-fx-source-active.unique-fx-attack{
  filter:brightness(1.06) drop-shadow(0 0 6px rgba(255,134,123,.35));
}
@keyframes uniqueAttackVelocityReverse{
  0%{opacity:0;transform:translateX(58%) scaleX(.18)}
  22%{opacity:1}
  100%{opacity:0;transform:translateX(-62%) scaleX(1)}
}

/* V1174: 도감 작은 카드에서도 유형 배지가 읽히도록 최소 크기를 보장한다. */
.card-title-row{
  gap:8px!important;
  overflow:visible!important;
}
.card-title-row>.card-unique-badge{
  min-height:28px!important;
  min-width:68px!important;
  padding:6px 10px!important;
  gap:4px!important;
  border-width:1px!important;
  border-radius:8px!important;
  box-shadow:0 3px 11px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.08)!important;
  line-height:1!important;
}
.card-title-row>.card-unique-badge i{
  display:inline-block!important;
  font-size:12px!important;
  line-height:1!important;
}
.card-title-row>.card-unique-badge b{
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:-.02em!important;
  line-height:1!important;
  text-shadow:0 1px 4px rgba(0,0,0,.72),0 0 8px currentColor!important;
}
.card-frame.small .card-title-row{
  gap:6px!important;
}
.card-frame.small .card-title-row>.card-unique-badge{
  min-width:62px!important;
  min-height:25px!important;
  padding:5px 8px!important;
}
.card-frame.small .card-title-row>.card-unique-badge i{
  display:inline-block!important;
  font-size:10px!important;
}
.card-frame.small .card-title-row>.card-unique-badge b{
  font-size:11px!important;
}

@media(max-width:800px){
  .unique-stage-fx.unique-fx-between-targets>.unique-card-fx{inset:-28%!important}
  .unique-stage-fx.unique-fx-between-targets>.unique-card-fx>b{font-size:7px;padding:4px 7px}
  .card-title-row>.card-unique-badge{
    min-width:60px!important;
    min-height:25px!important;
    padding:5px 8px!important;
  }
  .card-title-row>.card-unique-badge i{display:inline-block!important;font-size:10px!important}
  .card-title-row>.card-unique-badge b{font-size:10px!important}
  .card-frame.small .card-title-row>.card-unique-badge{
    min-width:60px!important;
    min-height:24px!important;
    padding:4px 7px!important;
  }
  .card-frame.small .card-title-row>.card-unique-badge b{font-size:10px!important}
}

/* 레이드 공격형도 공격 카드와 보스 사이에서 발동한다. */
.raid-arena>.raid-between-unique-fx{
  left:50%!important;
  top:49%!important;
  width:150px!important;
  height:150px!important;
  transform:translate(-50%,-50%)!important;
  z-index:10!important;
}
.raid-arena>.raid-between-unique-fx>.unique-card-fx{
  inset:-18%!important;
}
@media(max-width:720px){
  .raid-arena>.raid-between-unique-fx{
    width:104px!important;
    height:104px!important;
    top:48%!important;
  }
}

/* V1176: PVE/PVP 덱 편성 UI 통합. 과한 포지션 라벨 대신 동일한 컴팩트 타입 칩을 사용한다. */
.unified-deck-card{
  position:relative;display:block;width:100%;text-align:left;
  border:1px solid rgba(101,154,214,.2);border-radius:16px;
  background:linear-gradient(180deg,rgba(7,18,38,.96),rgba(5,13,30,.92));
  box-shadow:0 10px 24px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
.unified-deck-card:hover,.unified-deck-card:focus-visible{transform:translateY(-1px);border-color:rgba(105,186,255,.42);box-shadow:0 14px 30px rgba(0,0,0,.28),0 0 0 1px rgba(76,169,255,.16)}
.unified-deck-card.selected,.unified-deck-card[disabled]{border-color:rgba(96,209,172,.38);box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 0 1px rgba(77,214,176,.16);filter:saturate(.9)}
.unified-deck-card[disabled]{cursor:default;opacity:.82}

.deck-builder-card-body{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px}
.deck-builder-card-body.pve-slot,.deck-builder-card-body.pvp-slot{grid-template-columns:64px minmax(0,1fr);padding:11px 12px}
.deck-builder-thumb-wrap{width:74px;height:74px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(16,39,76,.95),rgba(7,19,38,.95));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.deck-builder-card-body.pve-slot .deck-builder-thumb-wrap,.deck-builder-card-body.pvp-slot .deck-builder-thumb-wrap{width:64px;height:64px;border-radius:12px}
.deck-builder-thumb{display:block;width:100%;height:100%;object-fit:cover}
.deck-builder-copy{min-width:0;display:flex;flex-direction:column;gap:8px}
.deck-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.deck-builder-title-box{min-width:0;display:flex;flex-direction:column;gap:2px}
.deck-builder-title-box small{color:#86a4cf;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deck-builder-title-box b{color:#f4f8ff;font-size:18px;font-weight:900;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deck-builder-card-body.pve-slot .deck-builder-title-box b,.deck-builder-card-body.pvp-slot .deck-builder-title-box b{font-size:16px}
.deck-builder-power{flex:0 0 auto;color:#f7d45f;font-size:17px;font-weight:900;letter-spacing:-.02em;white-space:nowrap}
.deck-builder-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.deck-meta-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#c7d6ee;font-size:11px;font-weight:800;line-height:1}
.deck-meta-pill.breakthrough{color:#ffe69b;border-color:rgba(255,217,120,.2);background:rgba(255,206,84,.08)}
.deck-meta-pill.grade{color:#8bd4ff;border-color:rgba(105,198,255,.18);background:rgba(43,123,183,.12)}
.deck-meta-pill.edition{color:#b8c7df}
.deck-meta-power-type{display:inline-flex;align-items:center;gap:3px}
.deck-meta-power-type .power-type-indicator{margin-left:2px}
.deck-builder-chip-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.deck-slot-action{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.08);color:#7f9cc3;font-size:11px;font-weight:800}

.deck-type-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.deck-type-chip i{font-size:11px;opacity:.9}
.deck-type-chip b{font-size:12px;letter-spacing:-.02em}
.deck-type-chip em{margin-left:1px;font-size:11px;font-style:normal;font-weight:900;opacity:.86}
.deck-type-chip.deck-type-none{color:#a9b9d4;border-color:rgba(140,160,192,.18);background:rgba(255,255,255,.035)}
.deck-type-chip.unique-type-attack{border-color:rgba(255,118,103,.5);background:linear-gradient(135deg,rgba(67,17,20,.94),rgba(112,34,30,.9));color:#ffd6d0}
.deck-type-chip.unique-type-defense{border-color:rgba(103,218,255,.5);background:linear-gradient(135deg,rgba(5,37,65,.94),rgba(12,76,105,.9));color:#d8f8ff}
.deck-type-chip.unique-type-speed{border-color:rgba(121,240,255,.5);background:linear-gradient(135deg,rgba(7,45,60,.94),rgba(15,91,108,.9));color:#dcfbff}
.deck-type-chip.unique-type-hp{border-color:rgba(112,239,165,.5);background:linear-gradient(135deg,rgba(7,54,37,.94),rgba(18,101,67,.9));color:#dfffea}
.deck-type-chip.owner-test{border-color:rgba(206,161,255,.45);background:linear-gradient(135deg,rgba(39,18,67,.95),rgba(61,31,96,.92));color:#eadbff}

.unified-empty-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:118px;padding:16px;border:1px dashed rgba(118,170,227,.24);border-radius:16px;background:linear-gradient(180deg,rgba(6,17,36,.64),rgba(7,18,34,.48));color:#8da9ce;text-align:center}
.unified-empty-slot span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(83,137,205,.12);border:1px solid rgba(117,177,255,.18);font-size:13px;font-weight:900;color:#cfe2ff}
.unified-empty-slot b{font-size:14px;color:#d9e8ff}.unified-empty-slot small{font-size:12px;color:#7d98bf}

#battleCards.battle-card-picker,.unified-pvp-picker{display:grid;gap:12px}
#battleDeck.battle-deck,.unified-pvp-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.unified-grade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.pvp-grade-title{margin-bottom:10px}
.pvp-pick,.battle-pick-card,.battle-deck-card,.pvp-deck-slot.filled{padding:0;background:none}
.pvp-pick .pvp-card-mini-full,.pvp-deck-slot .pvp-card-mini-full,.battle-pick-card>img,.battle-pick-card>span,.battle-pick-card>strong,.battle-deck-card>img,.battle-deck-card>span,.battle-deck-card>b,.battle-deck-card>small{display:unset}

@media(max-width:900px){
  #battleDeck.battle-deck,.unified-pvp-slots,.unified-grade-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .deck-builder-card-body{grid-template-columns:60px minmax(0,1fr);gap:10px;padding:10px 11px}
  .deck-builder-card-body.pve-slot,.deck-builder-card-body.pvp-slot{grid-template-columns:56px minmax(0,1fr);padding:10px}
  .deck-builder-thumb-wrap{width:60px;height:60px;border-radius:12px}
  .deck-builder-card-body.pve-slot .deck-builder-thumb-wrap,.deck-builder-card-body.pvp-slot .deck-builder-thumb-wrap{width:56px;height:56px;border-radius:11px}
  .deck-builder-title-box b{font-size:15px}
  .deck-builder-power{font-size:15px}
  .deck-meta-pill{height:20px;padding:0 7px;font-size:10px}
  .deck-type-chip{height:24px;padding:0 8px;font-size:11px}
  .deck-type-chip b{font-size:11px}.deck-type-chip em{font-size:10px}
  .unified-empty-slot{min-height:96px;padding:14px}
}

/* V1177: PVE는 PVP와 분리된 전용 토벌 지휘실 구조로 재구성 */
.pve-hunt-redesign .battle-cover.pve-hunt-cover{
  margin-bottom:16px;
}
.pve-command-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:16px;
  align-items:start;
}
.pve-command-left{display:grid;gap:16px;min-width:0}
.pve-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pve-panel-title small{display:block;margin-top:4px;color:#8ea8ce;font-size:12px;font-weight:700}
.pve-builder-helper{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(116,165,226,.14);color:#9db7dd;font-size:12px;font-weight:700}
.pve-builder-helper b{color:#dbe8ff;font-size:12px}

.pve-squad-grid{display:grid;grid-template-columns:1fr;gap:12px}
.pve-deck-slot-card{
  position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;width:100%;text-align:left;
  border:1px solid rgba(110,167,233,.2);border-radius:18px;background:linear-gradient(180deg,rgba(8,20,42,.97),rgba(6,16,33,.94));
  box-shadow:0 10px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.03);padding:10px 12px;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.pve-deck-slot-card:hover,.pve-deck-slot-card:focus-visible{transform:translateY(-1px);border-color:rgba(121,197,255,.38);box-shadow:0 14px 30px rgba(0,0,0,.26),0 0 0 1px rgba(110,190,255,.12)}
.pve-deck-slot-index{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(180deg,rgba(35,72,124,.46),rgba(19,41,79,.34));border:1px solid rgba(112,172,244,.22);color:#deebff;font-size:15px;font-weight:900}
.pve-deck-slot-body{min-width:0}
.pve-deck-slot-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:96px;
  border:1px dashed rgba(116,165,226,.24);border-radius:18px;background:linear-gradient(180deg,rgba(7,18,37,.7),rgba(5,13,29,.56));color:#90aace;padding:18px;text-align:center;
}
.pve-deck-slot-empty span{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:rgba(62,104,163,.18);color:#d7e5ff;font-size:14px;font-weight:900}
.pve-deck-slot-empty b{color:#eff5ff;font-size:14px}.pve-deck-slot-empty small{font-size:12px;color:#7d97be}

.pve-builder-list{display:grid;gap:12px}
.pve-builder-row{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:100%;text-align:left;
  border:1px solid rgba(111,168,233,.18);border-radius:18px;background:linear-gradient(180deg,rgba(7,18,38,.96),rgba(5,13,29,.93));padding:10px 12px;
  box-shadow:0 8px 20px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.02);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease;
}
.pve-builder-row:hover,.pve-builder-row:focus-visible{transform:translateY(-1px);border-color:rgba(116,190,255,.36);box-shadow:0 12px 24px rgba(0,0,0,.22),0 0 0 1px rgba(116,190,255,.1)}
.pve-builder-row.selected,.pve-builder-row[disabled]{border-color:rgba(83,210,170,.34);opacity:.88;box-shadow:0 10px 24px rgba(0,0,0,.24),0 0 0 1px rgba(83,210,170,.12)}
.pve-builder-row[disabled]{cursor:default}
.pve-builder-status{display:flex;align-items:center;justify-content:center;min-width:70px}
.pve-builder-status b,.pve-builder-status span{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}
.pve-builder-status span{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#93add0}
.pve-builder-status b{background:rgba(29,105,76,.24);border:1px solid rgba(83,210,170,.28);color:#bff8df}

.pve-target-panel .pve-monster-browser.redesign{display:grid;gap:14px}
.pve-target-spotlight{
  display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:14px;border-radius:22px;
  background:linear-gradient(135deg,rgba(11,24,49,.96),rgba(8,19,39,.94));border:1px solid rgba(110,166,233,.2);box-shadow:0 14px 32px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.03)
}
.pve-target-spotlight.empty{grid-template-columns:1fr}
.pve-target-image{width:120px;height:120px;border-radius:18px;object-fit:cover;border:1px solid rgba(255,255,255,.08);background:#071427}
.pve-target-image.placeholder{display:grid;place-items:center;font-size:40px;color:#c9dcff}
.pve-target-copy{display:flex;flex-direction:column;gap:10px;min-width:0}
.pve-target-tag{display:inline-flex;align-self:flex-start;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:rgba(255,203,92,.12);border:1px solid rgba(255,203,92,.22);color:#ffe4a2;font-size:11px;font-weight:900;letter-spacing:.04em}
.pve-target-copy h3{margin:0;color:#f4f8ff;font-size:24px;letter-spacing:-.02em}
.pve-target-copy p{margin:0;color:#9ab5da;font-size:13px;line-height:1.5}
.pve-target-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pve-target-stats article{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.pve-target-stats small{display:block;color:#86a3cb;font-size:11px;font-weight:700}
.pve-target-stats b{display:block;margin-top:4px;color:#f6d878;font-size:16px;font-weight:900}
.pve-target-start{align-self:flex-start;min-width:140px}
.pve-monster-grid.redesign{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.monster-choice.redesign{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-radius:18px;background:linear-gradient(180deg,rgba(8,19,38,.95),rgba(5,13,28,.92));border:1px solid rgba(109,165,233,.16);text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.monster-choice.redesign:hover,.monster-choice.redesign:focus-visible{transform:translateY(-1px);border-color:rgba(115,189,255,.34);box-shadow:0 10px 22px rgba(0,0,0,.22)}
.monster-choice.redesign.active{border-color:rgba(255,212,92,.36);box-shadow:0 12px 26px rgba(0,0,0,.24),0 0 0 1px rgba(255,212,92,.12)}
.monster-choice.redesign img,.monster-choice.redesign .monster-placeholder{width:68px;height:68px;border-radius:14px;object-fit:cover;background:#09172d;border:1px solid rgba(255,255,255,.06)}
.monster-choice.redesign .monster-placeholder{display:grid;place-items:center;color:#d3e2ff;font-size:28px}
.monster-choice.redesign span{min-width:0;display:flex;flex-direction:column;gap:4px}
.monster-choice.redesign small{color:#8db1dd;font-size:11px;font-weight:800}.monster-choice.redesign b{color:#f2f7ff;font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monster-choice.redesign em{color:#a6bfdf;font-size:12px;font-style:normal}.monster-choice.redesign strong{color:#f7d778;font-size:12px;font-weight:900}

@media(max-width:1024px){
  .pve-command-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .pve-builder-helper{flex-direction:column;align-items:flex-start}
  .pve-target-spotlight{grid-template-columns:1fr}
  .pve-target-image{width:100%;height:180px}
  .pve-target-start{width:100%}
  .pve-builder-row{grid-template-columns:1fr;gap:10px}
  .pve-builder-status{justify-content:flex-start}
}
@media(max-width:640px){
  .pve-deck-slot-card{grid-template-columns:32px minmax(0,1fr);padding:9px 10px}
  .pve-deck-slot-index{width:32px;height:32px;border-radius:10px;font-size:13px}
  .pve-target-copy h3{font-size:20px}
  .pve-target-stats{grid-template-columns:1fr}
  .monster-choice.redesign{grid-template-columns:56px minmax(0,1fr)}
  .monster-choice.redesign img,.monster-choice.redesign .monster-placeholder{width:56px;height:56px;border-radius:12px}
}

/* V1179: PVE 덱 편성 전용 칼럼 신설 + 몬스터 토벌 재구성 */
.pve-hunt-v1179 .pve-command-layout-v1179{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.15fr) minmax(360px,.95fr);
  gap:18px;
  align-items:start;
}
.pve-hunt-v1179 .battle-panel{
  border-radius:24px;
  background:linear-gradient(180deg,rgba(8,20,42,.96),rgba(6,15,33,.94));
  border:1px solid rgba(118,169,233,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.03);
}
.pve-hunt-v1179 .pve-squad-panel,
.pve-hunt-v1179 .pve-builder-panel,
.pve-hunt-v1179 .pve-target-panel{padding:18px}
.pve-hunt-v1179 .pve-squad-summary{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px;
}
.pve-hunt-v1179 .pve-squad-summary article{
  padding:12px 14px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.06);
}
.pve-hunt-v1179 .pve-squad-summary small{display:block;color:#87a4cc;font-size:11px;font-weight:800}
.pve-hunt-v1179 .pve-squad-summary b{display:block;margin-top:6px;color:#f4f8ff;font-size:18px;font-weight:900;letter-spacing:-.02em}
.pve-hunt-v1179 .pve-squad-grid{display:grid;gap:12px}
.pve-hunt-v1179 .pve-deck-slot-card{border-radius:20px;padding:12px 13px;background:linear-gradient(180deg,rgba(10,24,47,.98),rgba(7,16,34,.94))}
.pve-hunt-v1179 .pve-deck-slot-empty{border-radius:20px;min-height:110px;background:linear-gradient(180deg,rgba(9,21,42,.78),rgba(6,14,31,.64))}
.pve-hunt-v1179 .pve-deck-slot-index{background:linear-gradient(180deg,rgba(57,104,173,.54),rgba(26,50,95,.34));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}

.pve-hunt-v1179 .pve-builder-panel{min-width:0}
.pve-hunt-v1179 .pve-builder-helper{margin-bottom:14px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.025));border-color:rgba(114,167,234,.16)}
.pve-hunt-v1179 .pve-builder-list{max-height:1120px;overflow:auto;padding-right:4px}
.pve-hunt-v1179 .pve-builder-list::-webkit-scrollbar{width:10px}
.pve-hunt-v1179 .pve-builder-list::-webkit-scrollbar-thumb{background:rgba(131,165,211,.24);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.pve-hunt-v1179 .pve-builder-row{border-radius:20px;padding:12px 13px;background:linear-gradient(180deg,rgba(10,23,45,.98),rgba(7,15,31,.94))}
.pve-hunt-v1179 .pve-builder-row.selected,.pve-hunt-v1179 .pve-builder-row[disabled]{border-color:rgba(87,213,171,.36);background:linear-gradient(180deg,rgba(10,28,28,.98),rgba(7,22,26,.94))}
.pve-hunt-v1179 .pve-builder-status{min-width:78px}
.pve-hunt-v1179 .pve-builder-status b,.pve-hunt-v1179 .pve-builder-status span{height:30px;padding:0 12px}

.pve-hunt-v1179 .pve-target-panel .pve-monster-browser.redesign{gap:16px}
.pve-hunt-v1179 .pve-target-spotlight{grid-template-columns:128px minmax(0,1fr);padding:16px;border-radius:24px;background:linear-gradient(135deg,rgba(16,30,57,.98),rgba(10,22,41,.96));border-color:rgba(255,204,92,.18)}
.pve-hunt-v1179 .pve-target-copy h3{font-size:26px}
.pve-hunt-v1179 .pve-target-copy p{font-size:13px;line-height:1.6}
.pve-hunt-v1179 .pve-target-stats article{border-radius:16px;background:rgba(255,255,255,.045)}
.pve-hunt-v1179 .pve-target-start{width:100%;height:48px;border-radius:14px;font-size:15px;font-weight:900}
.pve-hunt-v1179 .pve-monster-grid.redesign{grid-template-columns:1fr;gap:10px}
.pve-hunt-v1179 .monster-choice.redesign{grid-template-columns:74px minmax(0,1fr);padding:12px;border-radius:18px}
.pve-hunt-v1179 .monster-choice.redesign.active{border-color:rgba(255,214,101,.42);background:linear-gradient(180deg,rgba(49,38,17,.24),rgba(10,18,31,.94))}
.pve-hunt-v1179 .monster-choice.redesign b{font-size:17px}
.pve-hunt-v1179 .monster-choice.redesign strong{font-size:13px}
.pve-hunt-v1179 .battle-cover .pve-total-card small{display:block;margin-top:6px;color:#9eb8dc;font-size:12px;line-height:1.45}

@media(max-width:1280px){
  .pve-hunt-v1179 .pve-command-layout-v1179{grid-template-columns:minmax(250px,.85fr) minmax(0,1fr)}
  .pve-hunt-v1179 .pve-target-panel{grid-column:1 / -1}
  .pve-hunt-v1179 .pve-monster-grid.redesign{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .pve-hunt-v1179 .pve-command-layout-v1179{grid-template-columns:1fr}
  .pve-hunt-v1179 .pve-target-panel,
  .pve-hunt-v1179 .pve-builder-panel,
  .pve-hunt-v1179 .pve-squad-panel{grid-column:auto}
}
@media(max-width:760px){
  .pve-hunt-v1179 .pve-squad-summary{grid-template-columns:1fr 1fr}
  .pve-hunt-v1179 .pve-target-spotlight{grid-template-columns:1fr}
  .pve-hunt-v1179 .pve-monster-grid.redesign{grid-template-columns:1fr}
  .pve-hunt-v1179 .pve-builder-list{max-height:none;overflow:visible;padding-right:0}
}
@media(max-width:560px){
  .pve-hunt-v1179 .pve-squad-summary{grid-template-columns:1fr}
  .pve-hunt-v1179 .pve-squad-panel,
  .pve-hunt-v1179 .pve-builder-panel,
  .pve-hunt-v1179 .pve-target-panel{padding:14px}
}

/* V1180: PVE 상단에 덱 편성 탭 신설, 몬스터 토벌은 기존 3열 전체 존 유지 */
.pve-mode-tabs .pve-mode-btn{min-width:0}
#pveHuntView.pve-view-deck .pve-target-panel{display:none}
#pveHuntView.pve-view-deck .pve-command-layout-v1179{grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr)}
#pveHuntView.pve-view-deck .pve-builder-panel{min-height:980px}
#pveHuntView.pve-view-deck .pve-builder-list{max-height:1180px}
#pveHuntView.pve-view-hunt .pve-target-panel{display:block}
#pveHuntView.pve-view-hunt .pve-command-layout-v1179{grid-template-columns:minmax(280px,.82fr) minmax(0,1.15fr) minmax(360px,.95fr)}
#pveHuntView.pve-view-hunt .pve-squad-panel,
#pveHuntView.pve-view-hunt .pve-builder-panel,
#pveHuntView.pve-view-hunt .pve-target-panel{display:block}
#pveHuntView.pve-view-hunt .pve-target-panel .pve-monster-browser.redesign{min-height:1180px}
#pveHuntView.pve-view-hunt .pve-target-panel .pve-monster-grid.redesign{grid-template-columns:1fr;max-height:none}
#pveHuntView.pve-view-hunt .pve-target-panel .pve-target-start{position:sticky;bottom:0}
#pveHuntView.pve-view-deck .pve-target-panel,
#pveHuntView.pve-view-deck .mobile-pve-quickbar [data-pve-tab="monsters"]{opacity:.6}
@media(max-width:1280px){
  #pveHuntView.pve-view-hunt .pve-command-layout-v1179{grid-template-columns:minmax(250px,.85fr) minmax(0,1fr)}
  #pveHuntView.pve-view-hunt .pve-target-panel{grid-column:1 / -1}
}
@media(max-width:980px){
  #pveHuntView.pve-view-deck .pve-command-layout-v1179,
  #pveHuntView.pve-view-hunt .pve-command-layout-v1179{grid-template-columns:1fr}
  #pveHuntView.pve-view-deck .pve-target-panel{display:none}
}

/* V1181: PVE 덱 편성은 PVP 카드 프레임형, 몬스터 토벌은 전체 화면 존 */
#pveHuntView.pve-view-deck .pve-command-layout-v1179{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
#pveHuntView.pve-view-deck .pve-squad-panel,
#pveHuntView.pve-view-deck .pve-builder-panel{display:block!important;grid-column:auto!important;width:100%}
#pveHuntView.pve-view-deck .pve-target-panel{display:none!important}
#pveHuntView.pve-view-deck .pve-squad-summary{max-width:420px}
#pveHuntView.pve-view-deck .pve-squad-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start;
}
#pveHuntView.pve-view-deck .pve-builder-list{max-height:1120px;overflow:auto;padding-right:6px}

.pve-grade-group{margin-top:16px}
.pve-grade-group:first-child{margin-top:0}
.pve-grade-title{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 0 10px;padding:11px 14px;border-radius:12px;
  background:linear-gradient(90deg,rgba(16,45,83,.92),rgba(7,22,45,.72));
  border-left:4px solid #6edcff;color:#f2f7ff;
}
.pve-grade-title b{font-size:16px;font-weight:1000;letter-spacing:.02em}
.pve-grade-title span{color:#9eb8dd;font-size:12px;font-weight:800}
.pve-grade-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.pve-frame-slot,.pve-frame-pick{position:relative;display:block;min-width:0;padding:0;border:0;background:none;text-align:left}
.pve-frame-slot.filled,.pve-frame-pick{
  border-radius:16px;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.pve-frame-slot.filled:hover,.pve-frame-slot.filled:focus-visible,.pve-frame-pick:hover,.pve-frame-pick:focus-visible{transform:translateY(-2px);filter:brightness(1.04)}
.pve-frame-slot.empty{display:flex;min-height:390px}
.pve-frame-empty{
  display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  border:1px dashed rgba(103,176,244,.34);border-radius:18px;
  background:linear-gradient(180deg,rgba(6,18,39,.76),rgba(5,13,30,.62));
  color:#829fc7;text-align:center;
}
.pve-frame-empty span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(71,127,190,.15);border:1px solid rgba(112,184,255,.2);color:#d5e7ff;font-size:15px;font-weight:1000}
.pve-frame-empty b{color:#dbe8fa;font-size:14px}.pve-frame-empty small{font-size:12px;color:#7795be}
.pve-card-mini-full{position:relative;min-width:0;overflow:visible}
.pve-card-mini-full>.card-frame{width:100%!important;max-width:none!important}
.pve-card-extra{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;
  min-height:44px;padding:8px 10px;border-radius:0 0 12px 12px;
  background:linear-gradient(180deg,rgba(11,30,55,.96),rgba(7,21,43,.98));
  border:1px solid rgba(86,151,211,.15);border-top:0;color:#d8e7fb;
}
.pve-card-extra>b{color:#61dafa;font-size:12px;font-weight:1000}
.pve-card-extra>span{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.pve-card-extra em,.pve-card-extra i{font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}
.pve-card-extra em{color:#f2d36e}.pve-card-extra i{color:#a9bad2}
.pve-card-extra>strong{color:#ffe070;font-size:13px;font-weight:1000;white-space:nowrap}
.pve-remove-hint{
  position:absolute;right:8px;bottom:52px;z-index:20;display:inline-flex;align-items:center;height:25px;padding:0 8px;
  border-radius:999px;background:rgba(5,17,34,.9);border:1px solid rgba(110,171,232,.18);color:#9bb8df;font-size:10px;font-weight:900;
  opacity:0;transform:translateY(4px);transition:.15s ease;pointer-events:none;
}
.pve-frame-slot.filled:hover .pve-remove-hint,.pve-frame-slot.filled:focus-visible .pve-remove-hint{opacity:1;transform:none}
.pve-frame-pick.selected{cursor:default}
.pve-frame-pick.selected .pve-card-mini-full{filter:saturate(.72) brightness(.72)}
.pve-selected-cover{position:absolute;inset:0;z-index:25;display:flex;align-items:flex-start;justify-content:flex-end;padding:10px;pointer-events:none}
.pve-selected-cover b{display:inline-flex;height:29px;align-items:center;padding:0 10px;border-radius:999px;background:rgba(18,105,75,.94);border:1px solid rgba(102,237,183,.46);color:#d9ffef;font-size:11px;font-weight:1000;box-shadow:0 6px 16px rgba(0,0,0,.34)}

/* 덱 편성 화면에서는 카드 안 유형 배지 하나만 남기고 크기를 절제한다. */
.pve-deck-card-display .card-title-row>.card-unique-badge,
.pvp-card-display .card-title-row>.card-unique-badge{
  min-width:50px!important;min-height:22px!important;padding:4px 7px!important;gap:3px!important;border-radius:7px!important;
}
.pve-deck-card-display .card-title-row>.card-unique-badge i,
.pvp-card-display .card-title-row>.card-unique-badge i{display:none!important}
.pve-deck-card-display .card-title-row>.card-unique-badge b,
.pvp-card-display .card-title-row>.card-unique-badge b{font-size:10px!important;letter-spacing:-.03em!important}
.pvp-card-mini-full>.card-ability-inline.pvp-inline{display:none!important}

/* 몬스터 토벌 탭: 덱 편성 패널을 완전히 제거하고 넓은 전체 존 사용 */
#pveHuntView.pve-view-hunt .pve-command-layout-v1179{display:block!important}
#pveHuntView.pve-view-hunt .pve-squad-panel,
#pveHuntView.pve-view-hunt .pve-builder-panel{display:none!important}
#pveHuntView.pve-view-hunt .pve-target-panel{display:block!important;width:100%!important;grid-column:auto!important;padding:22px}
#pveHuntView.pve-view-hunt .pve-target-panel .pve-monster-browser.redesign{
  display:grid!important;
  grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr)!important;
  grid-template-areas:
    "spot tabs"
    "spot tools"
    "spot monsters"!important;
  gap:14px 18px!important;
  align-items:start;
  min-height:780px!important;
}
#pveHuntView.pve-view-hunt .pve-target-spotlight{grid-area:spot;position:sticky;top:14px;min-height:560px;grid-template-columns:1fr!important;align-content:start}
#pveHuntView.pve-view-hunt .pve-target-image{width:100%!important;height:280px!important}
#pveHuntView.pve-view-hunt .pve-monster-tabs{grid-area:tabs;margin:0}
#pveHuntView.pve-view-hunt .pve-monster-tools{grid-area:tools;margin:0}
#pveHuntView.pve-view-hunt .pve-monster-grid.redesign{grid-area:monsters;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-height:760px;overflow:auto;padding-right:5px}
#pveHuntView.pve-view-hunt .monster-choice.redesign{min-height:96px}

@media(max-width:1200px){
  #pveHuntView.pve-view-deck .pve-squad-grid,.pve-grade-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  #pveHuntView.pve-view-hunt .pve-target-panel .pve-monster-browser.redesign{grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr)!important}
}
@media(max-width:900px){
  #pveHuntView.pve-view-deck .pve-squad-grid,.pve-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #pveHuntView.pve-view-hunt .pve-target-panel .pve-monster-browser.redesign{grid-template-columns:1fr!important;grid-template-areas:"spot" "tabs" "tools" "monsters"!important}
  #pveHuntView.pve-view-hunt .pve-target-spotlight{position:relative;top:auto;min-height:0;grid-template-columns:180px minmax(0,1fr)!important}
  #pveHuntView.pve-view-hunt .pve-target-image{width:180px!important;height:180px!important}
}
@media(max-width:680px){
  #pveHuntView.pve-view-deck .pve-squad-grid,.pve-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pve-frame-slot.empty{min-height:300px}
  #pveHuntView.pve-view-hunt .pve-target-spotlight{grid-template-columns:1fr!important}
  #pveHuntView.pve-view-hunt .pve-target-image{width:100%!important;height:210px!important}
  #pveHuntView.pve-view-hunt .pve-monster-grid.redesign{grid-template-columns:1fr!important;max-height:none;overflow:visible}
}

/* V1182: PVE 카드형 편성 화면 가독성 개선 - 카드 수를 제한해 크게 보이도록 조정 */
#pveHuntView.pve-view-deck .pve-command-layout-v1179{
  grid-template-columns:minmax(360px,420px) minmax(0,1fr)!important;
  gap:18px!important;
}
#pveHuntView.pve-view-deck .pve-squad-panel,
#pveHuntView.pve-view-deck .pve-builder-panel{
  min-width:0;
}
#pveHuntView.pve-view-deck .pve-squad-grid{
  grid-template-columns:1fr!important;
  gap:14px!important;
}
#pveHuntView.pve-view-deck .pve-frame-slot.empty{
  min-height:320px;
}
#pveHuntView.pve-view-deck .pve-frame-slot.filled,
#pveHuntView.pve-view-deck .pve-frame-slot.empty{
  max-width:320px;
  width:100%;
  margin:0 auto;
}
#pveHuntView.pve-view-deck .pve-builder-list{
  display:block!important;
  max-height:1180px;
  overflow:auto;
  padding-right:8px;
}
#pveHuntView.pve-view-deck .pve-grade-group{
  margin-top:18px;
}
#pveHuntView.pve-view-deck .pve-grade-grid{
  grid-template-columns:repeat(3,minmax(205px,230px))!important;
  justify-content:start!important;
  gap:16px!important;
}
#pveHuntView.pve-view-deck .pve-frame-pick{
  width:100%;
  max-width:230px;
}
#pveHuntView.pve-view-deck .pve-card-mini-full>.card-frame{
  max-width:230px!important;
  margin:0 auto!important;
}
#pveHuntView.pve-view-deck .pve-card-extra{
  max-width:230px;
  margin:0 auto;
}
#pveHuntView.pve-view-deck .pve-selected-cover{
  padding:12px;
}
#pveHuntView.pve-view-deck .pve-selected-cover b{
  height:32px;
  padding:0 12px;
  font-size:12px;
}

@media(max-width:1320px){
  #pveHuntView.pve-view-deck .pve-command-layout-v1179{
    grid-template-columns:minmax(320px,380px) minmax(0,1fr)!important;
  }
  #pveHuntView.pve-view-deck .pve-grade-grid{
    grid-template-columns:repeat(2,minmax(205px,230px))!important;
  }
}
@media(max-width:980px){
  #pveHuntView.pve-view-deck .pve-command-layout-v1179{
    grid-template-columns:1fr!important;
  }
  #pveHuntView.pve-view-deck .pve-squad-grid{
    grid-template-columns:repeat(2,minmax(220px,1fr))!important;
    justify-content:center!important;
  }
  #pveHuntView.pve-view-deck .pve-frame-slot.filled,
  #pveHuntView.pve-view-deck .pve-frame-slot.empty{
    max-width:none;
  }
  #pveHuntView.pve-view-deck .pve-grade-grid{
    grid-template-columns:repeat(3,minmax(180px,1fr))!important;
  }
  #pveHuntView.pve-view-deck .pve-frame-pick,
  #pveHuntView.pve-view-deck .pve-card-mini-full>.card-frame,
  #pveHuntView.pve-view-deck .pve-card-extra{
    max-width:none!important;
  }
}
@media(max-width:760px){
  #pveHuntView.pve-view-deck .pve-squad-grid{
    grid-template-columns:1fr!important;
  }
  #pveHuntView.pve-view-deck .pve-grade-grid{
    grid-template-columns:repeat(2,minmax(160px,1fr))!important;
  }
}
@media(max-width:560px){
  #pveHuntView.pve-view-deck .pve-grade-grid{
    grid-template-columns:1fr!important;
  }
}

/* V1182-2: PVE 카드 하단 정보 최소화 + 카드명 가독성 개선 */
.pve-card-extra.compact{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
}
.pve-card-extra.compact>strong{
  justify-self:end;
}
.pve-deck-card-display .limited-badge,
.pve-deck-card-display .card-header .power-type-indicator{
  display:none!important;
}
.pve-deck-card-display .card-header span,
.pvp-card-display .card-header span{
  gap:0!important;
}
.pve-deck-card-display .card-footer small,
.pvp-card-display .card-footer small{
  color:#ff7cc7!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}
.pve-deck-card-display .card-title-row,
.pvp-card-display .card-title-row{
  align-items:flex-start!important;
  gap:4px!important;
}
.pve-deck-card-display .card-title-row>.card-title,
.pvp-card-display .card-title-row>.card-title{
  color:#f7fbff!important;
  font-size:12px!important;
  font-weight:1000!important;
  line-height:1.14!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.pve-deck-card-display .card-title-row>.card-unique-badge,
.pvp-card-display .card-title-row>.card-unique-badge{
  margin-top:1px!important;
}
.pve-deck-card-display .card-footer,
.pvp-card-display .card-footer{
  align-items:flex-end!important;
}

/* V1183: PVE/PVP 덱 편성 카드 크기 통일 + 출전덱보기 버튼 고급화 */
:root{
  --cnine-deck-card-width:198px;
  --cnine-deck-card-min:186px;
}

/* PVE 덱 편성 화면 */
#pveHuntView.pve-view-deck .pve-command-layout-v1179{
  grid-template-columns:minmax(320px,360px) minmax(0,1fr)!important;
}
#pveHuntView.pve-view-deck .pve-squad-grid{
  grid-template-columns:1fr!important;
  justify-items:center!important;
}
#pveHuntView.pve-view-deck .pve-frame-slot.filled,
#pveHuntView.pve-view-deck .pve-frame-slot.empty,
#pveHuntView.pve-view-deck .pve-frame-pick{
  max-width:var(--cnine-deck-card-width)!important;
  width:100%!important;
}
#pveHuntView.pve-view-deck .pve-frame-slot.empty{
  min-height:290px!important;
}
#pveHuntView.pve-view-deck .pve-card-mini-full>.card-frame,
#pveHuntView.pve-view-deck .pve-card-extra{
  max-width:var(--cnine-deck-card-width)!important;
}
#pveHuntView.pve-view-deck .pve-grade-grid{
  grid-template-columns:repeat(3,minmax(var(--cnine-deck-card-min),var(--cnine-deck-card-width)))!important;
  gap:14px!important;
}
#pveHuntView.pve-view-deck .pve-builder-list{
  padding-right:10px!important;
}

/* PVE 덱 편성실 우측 상단 버튼 */
#pveHuntView.pve-view-deck .pve-mobile-pane-title button[data-pve-tab="deck"]{
  appearance:none;
  border:1px solid rgba(114,197,255,.28)!important;
  background:linear-gradient(135deg,rgba(17,74,132,.92),rgba(82,120,255,.86))!important;
  color:#f4fbff!important;
  border-radius:999px!important;
  min-height:42px;
  padding:0 16px!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.02em;
  box-shadow:0 10px 22px rgba(28,74,158,.26), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
#pveHuntView.pve-view-deck .pve-mobile-pane-title button[data-pve-tab="deck"]:hover,
#pveHuntView.pve-view-deck .pve-mobile-pane-title button[data-pve-tab="deck"]:focus-visible{
  transform:translateY(-1px);
  filter:brightness(1.05);
  box-shadow:0 14px 26px rgba(28,74,158,.32), inset 0 1px 0 rgba(255,255,255,.2);
}

/* PVP도 PVE와 같은 카드 크기/배치로 통일 */
.pvp-deck-slots{
  display:grid;
  grid-template-columns:repeat(5,minmax(var(--cnine-deck-card-min),var(--cnine-deck-card-width)));
  gap:14px;
  align-items:start;
  justify-content:start;
  margin-bottom:18px;
}
.pvp-deck-slot.filled,
.pvp-deck-slot.empty,
.pvp-pick{
  width:100%;
  max-width:var(--cnine-deck-card-width);
}
.pvp-card-picker.grouped .pvp-grade-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(var(--cnine-deck-card-min),var(--cnine-deck-card-width)));
  gap:14px;
  justify-content:start;
  align-items:start;
}
.pvp-card-mini-full>.card-frame,
.pvp-card-extra{
  max-width:var(--cnine-deck-card-width)!important;
  margin:0 auto!important;
}
.pvp-deck-slot.empty{
  display:flex;
  min-height:290px;
}
.pvp-empty-slot{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px dashed rgba(103,176,244,.34);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(6,18,39,.76),rgba(5,13,30,.62));
  color:#829fc7;
}
.pvp-empty-slot span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(71,127,190,.15);
  border:1px solid rgba(112,184,255,.2);
  color:#d5e7ff;
  font-size:15px;
  font-weight:1000;
}

@media(max-width:1320px){
  #pveHuntView.pve-view-deck .pve-grade-grid,
  .pvp-card-picker.grouped .pvp-grade-grid{
    grid-template-columns:repeat(2,minmax(var(--cnine-deck-card-min),var(--cnine-deck-card-width)))!important;
  }
  .pvp-deck-slots{
    grid-template-columns:repeat(4,minmax(var(--cnine-deck-card-min),var(--cnine-deck-card-width)));
  }
}
@media(max-width:980px){
  #pveHuntView.pve-view-deck .pve-command-layout-v1179{
    grid-template-columns:1fr!important;
  }
  #pveHuntView.pve-view-deck .pve-squad-grid,
  .pvp-deck-slots{
    grid-template-columns:repeat(2,minmax(var(--cnine-deck-card-min),var(--cnine-deck-card-width)))!important;
    justify-content:center!important;
  }
  #pveHuntView.pve-view-deck .pve-grade-grid,
  .pvp-card-picker.grouped .pvp-grade-grid{
    grid-template-columns:repeat(3,minmax(160px,1fr))!important;
  }
}
@media(max-width:760px){
  #pveHuntView.pve-view-deck .pve-squad-grid,
  .pvp-deck-slots{
    grid-template-columns:1fr!important;
  }
  #pveHuntView.pve-view-deck .pve-grade-grid,
  .pvp-card-picker.grouped .pvp-grade-grid{
    grid-template-columns:repeat(2,minmax(150px,1fr))!important;
  }
  #pveHuntView.pve-view-deck .pve-mobile-pane-title button[data-pve-tab="deck"]{
    min-height:38px;
    padding:0 14px!important;
    font-size:12px!important;
  }
}
@media(max-width:560px){
  #pveHuntView.pve-view-deck .pve-grade-grid,
  .pvp-card-picker.grouped .pvp-grade-grid{
    grid-template-columns:1fr!important;
  }
}
