:root{
  --bg:#0b1220; --panel:#121b2e; --panel2:#18243a; --line:#2a3855;
  --text:#eef4ff; --muted:#9fb0ca; --gold:#f4c45e; --danger:#ff6b6b;
  --wei:#3173d8; --shu:#43a85d; --wu:#d84a4a;
}
*{box-sizing:border-box}
html,body{margin:0;background:radial-gradient(circle at 50% 0%,#17243c 0,#0a1020 55%,#070c16 100%);color:var(--text);font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app{min-height:100vh;display:grid;grid-template-columns:270px minmax(700px,1fr) 290px;gap:12px;padding:12px}
.panel{background:rgba(18,27,46,.94);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #0005;overflow:hidden}
.panel h2,.panel h3{margin:0}
.side{padding:14px;display:flex;flex-direction:column;gap:12px}
.brand{padding:4px 0 8px}
.brand h1{font-size:20px;margin:0 0 3px}
.small{font-size:12px;color:var(--muted);line-height:1.5}
.statbox{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stat{background:#0b1324;border:1px solid #283652;border-radius:12px;padding:10px}
.stat b{display:block;font-size:21px;margin-top:2px}
.gold{color:var(--gold)}
.hpbar{height:10px;background:#222c3d;border-radius:999px;overflow:hidden;margin-top:5px}
.hpfill{height:100%;background:linear-gradient(90deg,#45d36b,#d6dc55);width:100%}
.btnrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn{border:1px solid #334767;background:#1a2942;color:#fff;border-radius:10px;padding:9px 10px}
.btn:hover{background:#223553}
.btn.primary{background:#2c62ba;border-color:#4f84df}
.btn.warn{background:#7e3e28;border-color:#b76242}
.btn:disabled{opacity:.4;cursor:not-allowed}
.log{height:250px;overflow:auto;background:#080f1d;border:1px solid #22304a;border-radius:12px;padding:8px;font-size:12px;line-height:1.55}
.log div{padding:3px 4px;border-bottom:1px dashed #1f2c42}
.turnbadge{display:inline-flex;align-items:center;gap:6px;background:#0c172a;border:1px solid #334565;border-radius:999px;padding:5px 9px;font-size:12px}

.battle-panel{display:flex;flex-direction:column;min-width:0}
.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--line);background:#111a2c}
.topbar .title{font-weight:800}
.controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
select,input{background:#0d1727;color:#eef4ff;border:1px solid #31415f;border-radius:8px;padding:7px}

.boardwrap{position:relative;flex:1;min-height:740px;overflow:auto;background:
linear-gradient(#0002,#0002),
repeating-linear-gradient(90deg,transparent 0,transparent 79px,#ffffff08 80px),
linear-gradient(180deg,#4a2c2b 0 13%,#3d4a2d 13% 87%,#233d59 87% 100%)}
.board{min-width:680px;max-width:900px;margin:0 auto;padding:10px 16px 14px;display:flex;flex-direction:column;gap:6px}
.basezone{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:10px;align-items:center;margin:0 auto;width:min(650px,90%)}
.hq{height:80px;border:2px solid #d09943;background:linear-gradient(180deg,#a95f21,#6d341a);border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 7px 18px #0006}
.hq.ally{background:linear-gradient(180deg,#2c5aa2,#173b72);border-color:#6aa0ee}
.hq .hptxt{font-weight:900;font-size:20px}
.hq.faction-fortress{
  min-height:112px;height:112px;background-size:cover!important;background-position:center!important;
  overflow:hidden;isolation:isolate;justify-content:flex-end;padding:8px 10px 7px;
}
.hq.faction-fortress::before{
  content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#00000008 0%,#00000030 48%,#000000d8 100%);
}
.hq.faction-fortress::after{
  content:"";position:absolute;inset:0;z-index:-1;box-shadow:inset 0 0 0 1px #ffffff18,inset 0 -35px 45px #0009;pointer-events:none;
}
.hq-title{font-size:11px;font-weight:950;letter-spacing:.08em;text-shadow:0 2px 5px #000;line-height:1.2}
.hq-subtitle{font-size:8px;color:#e8eef7d6;text-shadow:0 1px 4px #000;margin-bottom:1px}
.hq.faction-fortress .hptxt{font-size:18px;text-shadow:0 2px 6px #000}
.hq.faction-fortress.emergency,.hq.faction-fortress.has-base-unit{height:142px}
.hq.faction-fortress .hq-unit-slot{background:#050b13d9;backdrop-filter:blur(2px)}
.advisor{min-height:78px;height:78px;overflow:hidden}
.advisor.has-portrait{padding:4px;background:#0e1827;border-color:#96b36b}
.advisor-card.rich{display:grid;grid-template-columns:46px 1fr;gap:6px;text-align:left;align-items:center;width:100%;height:100%}
.advisor-portrait{width:46px;height:62px;border-radius:7px;overflow:hidden;border:1px solid #d9e99577;background:#16211b}
.advisor-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.advisor-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.advisor-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hq{position:relative}
.hq.emergency{border-color:#ffb347;box-shadow:0 0 0 2px #ffb34744,0 7px 18px #0006}
.hq.emergency,.hq.has-base-unit{height:116px}
.hq.summon-valid{outline:3px solid #67d87b;box-shadow:0 0 0 5px #67d87b22,0 7px 18px #0006}
.hq-unit-slot{display:none;width:92%;height:38px;margin-top:4px;border:1px dashed #ffffff66;border-radius:7px;background:#07101d99;align-items:center;justify-content:center;overflow:hidden}
.hq.emergency .hq-unit-slot,.hq.has-base-unit .hq-unit-slot{display:flex}
.hq-unit-slot.empty::after{content:"본진 소환 1칸";font-size:9px;color:#d8e5f7aa}
.base-unit{width:100%;height:100%;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:5px;padding:3px 5px;border-radius:6px;border:1px solid #8aa5cc;background:#172842;cursor:pointer;position:relative}
.base-unit.wei{border-color:#66a7ff;background:#173a71}.base-unit.shu{border-color:#73df8c;background:#235f31}.base-unit.wu{border-color:#ff8181;background:#6e2424}
.base-unit.selected{outline:2px solid #ffe07d}.base-unit.spent{filter:saturate(.55) brightness(.72)}
.base-unit-art{height:28px;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0004;font-size:18px}.base-unit-art img{width:100%;height:100%;object-fit:cover}
.base-unit-name{min-width:0;font-size:9px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-unit-stat{font-size:8px;color:#d9e6f8;white-space:nowrap}
.advisor{height:67px;border:2px solid #74aa4e;background:linear-gradient(180deg,#7ec44d,#3b7836);border-radius:12px;padding:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:12px;box-shadow:0 5px 14px #0005}
.advisor .mana{font-weight:800;color:#eefdb9}
.advisor{cursor:pointer;position:relative;transition:.15s ease}
.advisor:hover{filter:brightness(1.07)}
.advisor.summon-valid{outline:3px solid #67d87b;box-shadow:0 0 0 5px #67d87b22,0 7px 18px #0006}
.advisor.active{outline:3px solid #ffe07d;box-shadow:0 0 0 5px #ffe07d22,0 7px 18px #0006}
.advisor-card{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.15}
.advisor-card b{font-size:12px}
.advisor-card .advisor-meta{font-size:9px;color:#eaf6d6}
.advisor-empty{font-size:10px;color:#e6f5d2aa;line-height:1.35}
.advisor-level{display:inline-flex;align-items:center;gap:4px;background:#101b26aa;border:1px solid #d7ed9a88;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900}

.lane{position:relative;border:1px solid #ffffff1a;border-radius:14px;padding:6px 8px;background:#0d162654}
.lane .label{position:absolute;left:8px;top:6px;font-size:11px;color:#d7e2f2aa;z-index:2}
.slots{display:grid;gap:8px;justify-content:center;min-height:92px;align-items:center}
.slots.n4{grid-template-columns:repeat(4,110px)}
.slots.n3{grid-template-columns:repeat(3,120px)}
.slots.n2{grid-template-columns:repeat(2,132px)}
.slot{height:84px;border:1px dashed #c7d5ef44;border-radius:10px;background:#07101d44;display:flex;align-items:center;justify-content:center;position:relative}
.slot.empty::after{content:"빈칸";font-size:11px;color:#c3d1e455}
.slot.valid{outline:2px solid #67d87b;box-shadow:0 0 0 4px #67d87b26}
.slot.attackable{outline:2px solid #ff6b6b;box-shadow:0 0 0 4px #ff6b6b22}
.slot.movable{outline:2px solid #f1c859;box-shadow:0 0 0 4px #f1c85922}
.slot .move-cost{position:absolute;left:4px;top:4px;z-index:10;background:#5b430ee8;color:#fff3b4;border:1px solid #f1c859;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:950;pointer-events:none}
.slot.supportable{outline:3px solid #58e2d0;box-shadow:0 0 0 5px #58e2d02e,0 0 20px #58e2d033}
.slot.supportable::before{content:"협력 대상";position:absolute;right:4px;top:4px;z-index:8;background:#0a4b46e8;color:#d9fffa;border:1px solid #72f0df;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:900;pointer-events:none}
.support-charge{position:absolute;right:3px;bottom:3px;z-index:4;background:#073f3bde;color:#d8fff9;border:1px solid #65e6d5;border-radius:5px;padding:2px 4px;font-size:8px;font-weight:900}
.support-guide{margin-top:7px;padding:8px 9px;border:1px solid #3aa99c;background:#0b2c2a;border-radius:9px;color:#cffff8;font-size:11px;line-height:1.45}

.river{height:34px;border:1px solid #8ccdf233;border-radius:12px;background:linear-gradient(90deg,#1c587c77,#3b86a877,#1d628477);display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:5px;color:#d8f3ff;margin:2px 0}

.unit{width:100%;height:100%;border-radius:9px;border:2px solid #aaa;background:#1e2d48;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;position:relative;box-shadow:0 5px 12px #0005}
.unit.wei{border-color:#66a7ff;background:linear-gradient(180deg,#255baf,#173a71)}
.unit.shu{border-color:#73df8c;background:linear-gradient(180deg,#3a944f,#235f31)}
.unit.wu{border-color:#ff8181;background:linear-gradient(180deg,#ae3f3f,#6e2424)}
.unit.selected{outline:3px solid #ffe07d;transform:translateY(-2px)}
.unit.spent{filter:saturate(.55) brightness(.72)}
.uname{font-size:12px;font-weight:800;padding:3px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0003}
.uimg{display:flex;align-items:center;justify-content:center;font-size:24px;position:relative}
.grade{position:absolute;right:3px;top:3px;font-size:9px;font-weight:950;background:#111d;padding:2px 5px;border-radius:5px;border:1px solid #ffffff55;z-index:3}
.grade-S,.card-grade.grade-S{background:#8a5b08;color:#fff3bd;border-color:#ffd76a}
.grade-R,.card-grade.grade-R{background:#6d285f;color:#ffd8f7;border-color:#e98ad7}
.grade-U,.card-grade.grade-U{background:#205d72;color:#d9f7ff;border-color:#78d8f5}
.grade-C,.card-grade.grade-C{background:#3e4a59;color:#edf3fa;border-color:#9aa9ba}
.stats{display:grid;grid-template-columns:repeat(3,1fr);font-size:10px;text-align:center;background:#050a12aa;padding:3px}
.buff{position:absolute;left:3px;top:23px;background:#f7c64d;color:#1a1405;font-size:9px;font-weight:800;border-radius:5px;padding:2px 4px}
.typeicon{position:absolute;left:3px;bottom:3px;font-size:11px;background:#0008;border-radius:5px;padding:2px 4px}

.handbox{border-top:1px solid var(--line);background:#0d1628;padding:8px 10px}

.bottom-hud{
  position:sticky;
  bottom:0;
  z-index:25;
  background:linear-gradient(180deg,#101a2d 0%,#0b1322 100%);
  border-top:2px solid #354b70;
  box-shadow:0 -12px 28px #0009;
}
.hud-status{
  display:grid;
  grid-template-columns:72px 90px 92px 72px minmax(135px,1fr) minmax(135px,1fr) 95px auto;
  gap:7px;
  align-items:stretch;
  padding:8px 10px 5px;
}
.hud-block,.hud-hp{
  min-height:52px;
  border:1px solid #2e405f;
  background:#0a1323;
  border-radius:10px;
  padding:6px 8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hud-block b{
  font-size:19px;
  line-height:1.1;
}
.hud-block.ap{
  border-color:#b88929;
  background:linear-gradient(180deg,#362b14,#18160f);
}
.hud-block.ap b{
  font-size:25px;
  text-shadow:0 0 12px #f4c45e66;
}
.hud-label{
  font-size:10px;
  color:#9fb0ca;
  white-space:nowrap;
}
.hud-hp-line{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:7px;
  align-items:center;
}
.hud-hp-line b{font-size:14px}
.hud-hp .hpbar{margin:0;height:9px}
.hud-hp.enemy .hpfill{
  background:linear-gradient(90deg,#ff8e78,#d64444);
}
.hud-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(78px,1fr));
  gap:5px;
  min-width:180px;
}
.hud-actions .btn{
  padding:5px 7px;
  font-size:11px;
  min-height:24px;
}
.bottom-hud .handbox{
  border-top:1px solid #263854;
  background:#0b1424;
  padding:6px 10px 8px;
}
.bottom-hud .hand{
  min-height:128px;
}
.bottom-hud .card{
  flex-basis:100px;
  height:126px;
  grid-template-rows:19px 50px 19px 1fr;
}
.boardwrap{
  min-height:0 !important;
}
.battle-panel{
  height:calc(100vh - 24px);
}

.handhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.hand{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;min-height:142px}
.card{flex:0 0 106px;height:138px;border:2px solid #5577a7;border-radius:10px;background:#20385e;display:grid;grid-template-rows:20px 58px 20px 1fr;overflow:hidden;position:relative;box-shadow:0 5px 12px #0005}
.card.wei{border-color:#65a0ff;background:#2558a0}
.card.shu{border-color:#6fd47f;background:#3b8c49}
.card.wu{border-color:#ff7777;background:#a94141}
.card.item{border-color:#e4c16b;background:#6a5426}
.card.tactic{border-color:#be8cff;background:#56388a}
.card.support{border-color:#75e7d4}
.card.advisor-card-hand{border-color:#d7ed79;background:linear-gradient(180deg,#5c6f2b,#26361c)}
.card.selected{outline:3px solid #ffe47b;transform:translateY(-4px)}
.cname{font-size:11px;font-weight:900;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0004}
.cimg{display:flex;align-items:center;justify-content:center;font-size:30px;background:#ead9c355;color:#101623}
.cstats{font-size:9px;text-align:center;padding:2px;background:#0006}
.ctext{font-size:9px;line-height:1.25;padding:4px;overflow:hidden}
.cost{position:absolute;right:4px;top:23px;background:#0b1527;border-radius:999px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#ffd96a;border:1px solid #d1a63f}
.card-grade{position:absolute;left:4px;top:23px;z-index:4;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:950;border:1px solid #ffffff66;box-shadow:0 2px 6px #0007}

.right-section{border:1px solid #293854;border-radius:12px;overflow:hidden}
.right-title{padding:8px 10px;background:#0b1424;font-size:13px;font-weight:800;border-bottom:1px solid #293854}
.details{padding:10px;font-size:12px;line-height:1.55;min-height:170px}
.skilllist{display:grid;gap:7px;padding:8px}
.skill{border:1px solid #3b4e71;background:#14233c;border-radius:9px;padding:8px;color:#fff;text-align:left}
.skill b{display:block;font-size:12px}
.skill span{font-size:10px;color:#aabbd3}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:11px}
.legend div{padding:6px;border-radius:7px;background:#0b1424}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.admin{max-height:300px;overflow:auto;padding:9px}
.admin label{font-size:10px;color:#9fb0ca;display:block;margin-top:5px}
.admin input,.admin select,.admin textarea{width:100%;padding:6px;font-size:11px}
.admin textarea{height:55px;resize:vertical}
.notice{background:#392f17;border:1px solid #6f5a20;color:#f1da93;padding:7px 9px;border-radius:9px;font-size:11px;line-height:1.5}

.modal{position:fixed;inset:0;background:#000a;display:none;align-items:center;justify-content:center;z-index:50}
.modal.show{display:flex}
.modalbox{width:min(680px,94vw);max-height:88vh;overflow:auto;background:#111a2d;border:1px solid #40506d;border-radius:16px;padding:16px}
.rules{font-size:13px;line-height:1.65}
.rules ol{padding-left:22px}
.win{font-size:32px;font-weight:950;text-align:center;margin:16px 0}
@media (max-width:1180px){
  .app{grid-template-columns:220px minmax(650px,1fr)}
  .right{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr)}
}
@media (max-width:850px){
  .app{display:block;padding:6px}
  .side{margin-bottom:8px}
  .left{display:grid;grid-template-columns:1fr 1fr}
  .left .brand,.left .log{grid-column:1/-1}
  .boardwrap{min-height:720px}
  .right{display:block}
}

@media (max-width:1300px){
  .hud-status{
    grid-template-columns:65px 78px 82px 62px minmax(120px,1fr) minmax(120px,1fr) 85px;
  }
  .hud-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(4,1fr);
  }
}
@media (max-width:850px){
  .battle-panel{height:auto;min-height:100vh}
  .bottom-hud{position:sticky;bottom:0}
  .hud-status{
    grid-template-columns:repeat(4,1fr);
  }
  .hud-hp{
    grid-column:span 2;
  }
  .hud-block.mana{
    grid-column:span 2;
  }
  .hud-actions{
    grid-column:span 2;
    grid-template-columns:repeat(2,1fr);
    min-width:0;
  }
  .bottom-hud .hand{
    min-height:118px;
  }
  .bottom-hud .card{
    flex-basis:92px;
    height:116px;
  }
}


.lane.captured-ally{
  border-color:#6fb0ff;
  box-shadow:inset 0 0 0 1px #6fb0ff55, 0 0 18px #2d70d844;
}
.lane.captured-enemy{
  border-color:#ff7a7a;
  box-shadow:inset 0 0 0 1px #ff7a7a55, 0 0 18px #d84a4a44;
}
.lane .capture-tag{
  position:absolute;
  right:8px;
  top:5px;
  z-index:3;
  font-size:10px;
  font-weight:900;
  border-radius:999px;
  padding:2px 7px;
  background:#09111dcc;
  border:1px solid #ffffff2b;
}
.lane.captured-ally .capture-tag{color:#8dc2ff}
.lane.captured-enemy .capture-tag{color:#ff9a9a}


/* 즉시 안내 팝업 */
.game-toast-wrap{
  position:fixed;left:50%;top:72px;transform:translateX(-50%);
  z-index:120;display:flex;flex-direction:column;gap:8px;
  width:min(520px,92vw);pointer-events:none;
}
.game-toast{
  pointer-events:auto;
  border:1px solid #49617f;background:#101c30ee;color:#f6f9ff;
  border-radius:12px;padding:11px 14px;box-shadow:0 12px 34px #0009;
  font-size:13px;line-height:1.45;animation:toastIn .16s ease-out;
}
.game-toast strong{display:block;font-size:13px;margin-bottom:2px}
.game-toast.info{border-color:#4d7cc2;background:#102344f2}
.game-toast.error{border-color:#d45d5d;background:#401b22f2}
.game-toast.success{border-color:#55a96d;background:#173622f2}
.game-toast.warn{border-color:#d2a545;background:#403319f2}
.game-toast.equipment-event{position:relative;overflow:hidden;border-width:2px;box-shadow:0 16px 42px #000a,0 0 18px #ffffff15;animation:equipmentToastIn .42s cubic-bezier(.2,.9,.2,1.05)}
.game-toast.equipment-event::after{content:'';position:absolute;inset:-40% auto auto -30%;width:55%;height:190%;background:linear-gradient(90deg,transparent,#ffffff80,transparent);transform:rotate(18deg);animation:equipmentShine 1.05s ease-out 1}
.game-toast.equipment-destroy{border-color:#ff9867;background:linear-gradient(135deg,#5b1e10f5,#28110af5 60%,#130c09f5)}
.game-toast.equipment-steal{border-color:#74d8ff;background:linear-gradient(135deg,#0f3353f5,#0b1d34f5 60%,#091118f5)}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes equipmentToastIn{0%{opacity:0;transform:translateY(-18px) scale(.92)}55%{opacity:1;transform:translateY(3px) scale(1.03)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes equipmentShine{from{transform:translateX(-160%) rotate(18deg)}to{transform:translateX(270%) rotate(18deg)}}

/* 카드 이미지 */
.card-art-img,.unit-art-img{width:100%;height:100%;object-fit:cover;display:block}
.cimg,.uimg{overflow:hidden}
.default-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at 30% 25%,#ffffff55 0,#ffffff15 16%,transparent 18%),linear-gradient(180deg,#334a73 0,#17253e 100%)}
.default-art::after{content:'';position:absolute;inset:10% 16%;border-radius:16px;background:radial-gradient(circle at 50% 35%,#ffffff3d 0,#ffffff15 22%,transparent 23%),linear-gradient(180deg,#ffffff14,#00000018);border:1px solid #ffffff24;box-shadow:inset 0 0 18px #00000022}
.default-art span{position:relative;z-index:1;font-size:28px;filter:drop-shadow(0 4px 8px #0008)}
.default-art.card span{font-size:34px}
.default-art.card.wei{background:radial-gradient(circle at 25% 20%,#ffffff4d 0,#ffffff12 18%,transparent 20%),linear-gradient(180deg,#3d6ec8 0,#1d3663 100%)}
.default-art.card.shu{background:radial-gradient(circle at 25% 20%,#ffffff4d 0,#ffffff12 18%,transparent 20%),linear-gradient(180deg,#49a866 0,#234b2d 100%)}
.default-art.card.wu{background:radial-gradient(circle at 25% 20%,#ffffff4d 0,#ffffff12 18%,transparent 20%),linear-gradient(180deg,#cf5b5b 0,#5e2424 100%)}
.default-art.card.item,.default-art.unit.item{background:radial-gradient(circle at 25% 20%,#fff4c455 0,#fff0bc18 18%,transparent 20%),linear-gradient(180deg,#9d7a2f 0,#4b3813 100%)}
.default-art.card.tactic,.default-art.unit.tactic{background:radial-gradient(circle at 25% 20%,#f0dcff55 0,#f0dcff18 18%,transparent 20%),linear-gradient(180deg,#7656aa 0,#342155 100%)}
.default-art.card.support,.default-art.unit.support{background:radial-gradient(circle at 25% 20%,#ffffff55 0,#ffffff12 18%,transparent 20%),linear-gradient(180deg,#5f7ab3 0,#24314f 100%)}
.default-art.card.advisor,.default-art.unit.advisor{background:radial-gradient(circle at 25% 20%,#f7ffd855 0,#efff9a18 18%,transparent 20%),linear-gradient(180deg,#71834a 0,#2b371f 100%)}

/* 카드 관리자 */
.card-manager-box{
  width:min(1180px,96vw);height:min(820px,92vh);padding:0;overflow:hidden;
  display:grid;grid-template-rows:58px 1fr;background:#0c1424;
}
.manager-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 14px;border-bottom:1px solid #32425f;background:#121d31;
}
.manager-head h2{font-size:18px;margin:0}
.manager-main{display:grid;grid-template-columns:320px 1fr;min-height:0}
.manager-list-pane{border-right:1px solid #2d3d59;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:0}
.manager-search{display:grid;grid-template-columns:1fr 94px;gap:6px}
.manager-list{overflow:auto;display:flex;flex-direction:column;gap:6px;padding-right:3px}
.manager-card-row{
  border:1px solid #2e405e;background:#101b2e;color:#fff;border-radius:9px;
  display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;
  padding:6px;text-align:left;cursor:pointer;
}
.manager-card-row:hover,.manager-card-row.active{border-color:#6c95d2;background:#172844}
.manager-thumb{width:48px;height:58px;border-radius:6px;background:#23324b;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:22px}
.manager-row-name{font-weight:800;font-size:12px}
.manager-row-meta{font-size:10px;color:#9fb1cb;margin-top:2px}
.manager-edit-pane{overflow:auto;padding:14px}
.manager-grid{display:grid;grid-template-columns:220px 1fr;gap:16px}
.manager-preview-wrap{display:flex;flex-direction:column;gap:8px}
.manager-preview{
  height:300px;border:2px solid #4a6388;border-radius:14px;overflow:hidden;
  background:#1d2b43;display:flex;align-items:center;justify-content:center;font-size:62px;
}
.manager-preview img{width:100%;height:100%;object-fit:cover}
.manager-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.manager-field{display:flex;flex-direction:column;gap:4px}
.manager-field.full{grid-column:1/-1}
.manager-field label{font-size:10px;color:#9fb0ca}
.manager-field input,.manager-field select,.manager-field textarea{width:100%;background:#091321;color:#fff;border:1px solid #334763;border-radius:8px;padding:8px}
.manager-field textarea{min-height:84px;resize:vertical}
.manager-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.manager-help{font-size:11px;color:#99abc3;line-height:1.55;background:#0a1322;border:1px solid #283852;border-radius:9px;padding:9px}
@media(max-width:850px){
  .card-manager-box{height:94vh}
  .manager-main{grid-template-columns:1fr;grid-template-rows:210px 1fr}
  .manager-list-pane{border-right:0;border-bottom:1px solid #2d3d59}
  .manager-grid{grid-template-columns:1fr}
  .manager-preview{height:220px}
  .manager-form{grid-template-columns:1fr}
}



/* ================================================================
   v10 reference battlefield UI — user-supplied screenshot inspired
   ================================================================ */
:root{
  --ref-bg:#070b0c;--ref-panel:#0b1113;--ref-panel2:#111719;
  --ref-gold:#b9853e;--ref-gold2:#e0b36a;--ref-copper:#74451d;
  --ref-red:#8e251d;--ref-blue:#1f527b;--ref-text:#e7dfcf;--ref-muted:#a69a86;
  --castle-wei:url("../images/castle_wei.jpg");
  --castle-shu:url("../images/castle_shu.jpg");
  --castle-wu:url("../images/castle_wu.jpg");
}
html,body{height:100%;overflow:hidden;background:#050708;color:var(--ref-text);font-family:"Malgun Gothic","Noto Sans KR",system-ui,sans-serif}
body{background:
  radial-gradient(circle at 50% 38%,#34251435 0 18%,transparent 52%),
  repeating-linear-gradient(0deg,#ffffff018 0 1px,transparent 1px 4px),
  linear-gradient(180deg,#080c0d,#040607)}
.app{height:100vh;min-height:720px;display:grid;grid-template-columns:230px minmax(720px,1fr) 350px;gap:4px;padding:4px}
.panel{border-radius:0;border:1px solid #5d3d1e;background:linear-gradient(180deg,#0b1113f7,#070b0df7);box-shadow:inset 0 0 0 1px #16100a,inset 0 0 32px #000b,0 0 0 1px #000;position:relative}
.panel::before,.panel::after{content:"";position:absolute;width:22px;height:22px;pointer-events:none;z-index:40;opacity:.85}
.panel::before{left:3px;top:3px;border-left:2px solid #8f622d;border-top:2px solid #8f622d}
.panel::after{right:3px;bottom:3px;border-right:2px solid #8f622d;border-bottom:2px solid #8f622d}
.side{padding:0;gap:0;min-height:0}
.small{color:#9d927f}

.reference-left{display:flex;flex-direction:column;overflow:hidden}
.reference-brand{height:94px;min-height:94px;padding:13px 15px 8px;border-bottom:1px solid #68441f;background:linear-gradient(180deg,#0a0f10,#070a0b)}
.reference-brand h1{margin:0;font-family:"Malgun Myeongjo","Batang",serif;font-size:31px;line-height:1.05;letter-spacing:-1.7px;color:#d7a65b;text-shadow:0 2px 0 #241608,0 0 15px #b87d3340}
.reference-brand h1::first-letter{font-size:37px}
.brand-sub{font-size:15px;font-weight:800;letter-spacing:.14em;color:#d6a14d;margin-top:8px}
.ornate-title{height:28px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #6a4624;background:linear-gradient(180deg,#15202a,#0b1116);font-size:13px;font-weight:900;color:#d7dbe1;letter-spacing:.05em;text-shadow:0 1px #000}
.ornate-title.enemy{color:#e47462;background:linear-gradient(180deg,#251411,#130b09)}
.ornate-title.ally{color:#71aee3;background:linear-gradient(180deg,#10202c,#0a1218)}
.left-status-frame{border-bottom:1px solid #69451f;background:linear-gradient(180deg,#0b1721,#071017);padding-bottom:5px}
.left-stat-row,.resource-line{min-height:37px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #273139;font-size:13px}
.left-stat-row span,.resource-line span{color:#b7afa1}
.left-stat-row b,.resource-line b{font-size:16px;color:#ede4d4}
.hp-value{color:#d9e7f6!important} .hp-value::first-letter{color:#4f98d0}
.mana-value{color:#d7e9fb!important}
.left-ap-row{display:flex;align-items:center;justify-content:space-between;padding:3px 15px 0;color:#baaa90;font-size:12px}
.left-ap-row b{font-size:21px;color:#e2b45e}
.left-advisor-frame{border-bottom:1px solid #69451f;background:linear-gradient(180deg,#101519,#090d0f)}
.advisor-mirror{height:108px;padding:7px 8px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 20%,#263849 0,transparent 44%),#0b1114}
.advisor-mirror-empty{font-size:11px;color:#7e7669;text-align:center;line-height:1.5}
.advisor-mirror-card{width:100%;height:100%;display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:center}
.advisor-mirror-art{height:92px;border:1px solid #8d6738;background:#13191d;overflow:hidden;box-shadow:inset 0 0 0 1px #000}
.advisor-mirror-art img,.advisor-mirror-art .default-art{width:100%;height:100%;object-fit:cover}
.advisor-mirror-copy b{display:block;color:#e7d0a4;font-size:14px;margin-bottom:4px}
.advisor-mirror-copy span{display:block;color:#b7ac9a;font-size:10px;line-height:1.45}
.advisor-switch{width:calc(100% - 16px);margin:0 8px 5px;min-height:29px;padding:4px}
.compact-skills{padding:0 8px 7px}
.compact-skills .notice{padding:5px 6px;margin-bottom:5px;font-size:9px;line-height:1.35;border-radius:2px;background:#1a1610;border-color:#5d4c2c;color:#cbb98d}
.compact-skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.compact-skill-grid .skill,.compact-skill-grid .btn{min-height:35px;padding:4px 5px;border-radius:2px}
.compact-skill-grid .skill b{font-size:10px} .compact-skill-grid .skill span{font-size:8px}
.left-log-frame{flex:1;min-height:130px;display:flex;flex-direction:column;background:#080c0e}
.left-log-frame .log{flex:1;height:auto;margin:6px 7px;border-radius:0;border:1px solid #46341f;background:#050809;padding:5px;font-size:10px;line-height:1.55;color:#aeb7bd}
.log div{border-bottom:0;padding:1px 2px}
.log div:nth-child(4n+1){color:#e4b756} .log div:nth-child(4n+2){color:#79acd5} .log div:nth-child(4n+3){color:#d56a4e}
.left-bottom-actions{min-height:74px;padding:9px 16px;display:grid;grid-template-columns:1fr;gap:6px;border-top:1px solid #5d3c1d;background:#090c0d}
.left-bottom-actions .btn{min-height:27px}

.battle-panel{height:calc(100vh - 8px);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.reference-topbar{height:96px;min-height:96px;padding:8px 10px;display:grid;grid-template-columns:minmax(380px,1.4fr) 150px minmax(300px,1fr);grid-template-rows:1fr 24px;gap:4px 8px;border-bottom:1px solid #6e4a24;background:linear-gradient(180deg,#0f171a,#090e10)}
.top-control-group{display:flex;gap:8px;align-items:center}
.top-field{display:flex;flex-direction:column;gap:3px;font-size:10px;color:#b39e7d}
.top-field select{min-width:126px}
.top-new{height:38px;margin-top:14px;min-width:96px}
.turn-plate{grid-row:1;grid-column:2;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #8e622b;background:linear-gradient(180deg,#121a1d,#080d0f);box-shadow:inset 0 0 16px #000}
.turn-plate>div{font-family:"Malgun Myeongjo",serif;font-size:15px;color:#dcc9a5}
.turn-plate b{font-size:31px;color:#e5c288;margin-right:4px}
.turn-plate .turnbadge{margin-top:1px;border:0;background:transparent;color:#53aee3;font-weight:900;font-size:12px;padding:1px}
.top-options{display:grid;grid-template-columns:1fr 1fr auto;grid-template-rows:1fr 1fr;gap:4px 8px;align-items:center}
.checkline{display:flex;align-items:center;gap:6px;font-size:12px;color:#d0c5b4}
.checkline input{accent-color:#759e4a;width:18px;height:18px}
.top-options #cardManagerBtn{grid-column:3;grid-row:1/3;min-width:88px}
.top-options #rulesTopBtn{display:none}
.faction-pickers{grid-column:1/4;display:flex;justify-content:flex-end;gap:12px;align-items:center;border-top:1px solid #273036;padding-top:3px;font-size:9px;color:#8f8779}
.faction-pickers label{display:flex;gap:4px;align-items:center}
.faction-pickers select{padding:2px 6px;font-size:10px;min-width:70px}
select,input{border-radius:2px;background:#0b1113;border:1px solid #4b5356;color:#e2ded4;padding:7px 9px}
.btn{border-radius:2px;border:1px solid #775329;background:linear-gradient(180deg,#151b1d,#080c0d);color:#e3dac9;box-shadow:inset 0 0 0 1px #000;padding:7px 10px}
.btn:hover{background:linear-gradient(180deg,#232a2b,#0d1112)}
.btn.primary{background:linear-gradient(180deg,#174776,#0b2b4c);border-color:#7d9bb7}
.btn.warn{background:linear-gradient(180deg,#4a2116,#1d0e0a);border-color:#8c542f}

.boardwrap{flex:1;min-height:0!important;overflow:hidden;background:
  radial-gradient(circle at 50% 35%,#5f492f30,transparent 38%),
  repeating-linear-gradient(90deg,transparent 0 119px,#b7843320 120px,#0000 121px),
  repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 5px),
  linear-gradient(180deg,#2d2118 0 48%,#241b14 48% 52%,#2c2118 52% 100%)}
.board{height:100%;min-width:0;max-width:none;width:100%;margin:0;padding:4px 7px;gap:2px;justify-content:space-between}
.basezone{width:100%;height:142px;display:grid;grid-template-columns:138px minmax(0,1fr);grid-template-rows:69px 69px;gap:4px;margin:0;align-items:stretch}
.basezone>.advisor:first-child{grid-column:1;grid-row:1}
.basezone>.advisor:last-child{grid-column:1;grid-row:2}
.basezone>.hq{grid-column:2;grid-row:1/3}
.advisor{height:auto!important;min-height:0!important;border-radius:0;border:1px solid #72502c;background:linear-gradient(180deg,#15191a,#090c0d);padding:3px;box-shadow:inset 0 0 0 1px #000;overflow:hidden}
.advisor.has-portrait{background:#0b0f11;border-color:#805a32;padding:3px}
.advisor-card.rich{grid-template-columns:48px 1fr;gap:5px}
.advisor-portrait{width:48px;height:60px;border-radius:0;border-color:#72583a}
.advisor-copy b{font-size:9px;color:#e2c693} .advisor-copy .advisor-meta{font-size:8px} .advisor-level{font-size:8px;padding:1px 4px}
.hq.faction-fortress{height:142px!important;min-height:142px!important;border-radius:0;border:1px solid #9a6b31;background-color:#15110d;background-size:cover!important;background-position:center 45%!important;padding:0;justify-content:flex-end;box-shadow:inset 0 0 0 1px #000,0 0 0 1px #211306;overflow:hidden}
.hq.faction-fortress::before{background:linear-gradient(180deg,#00000010 0,#0000 45%,#000b 100%)}
.hq.faction-fortress::after{box-shadow:inset 0 0 40px #0008,inset 0 -42px 35px #000b}
.hq-title{position:absolute;top:0;left:50%;transform:translateX(-50%);min-width:210px;padding:5px 24px 6px;background:linear-gradient(180deg,#4b1c12,#291009);border:1px solid #a66d35;color:#efc99a;font-size:12px;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);z-index:3}
#allyHq .hq-title{background:linear-gradient(180deg,#17334b,#0c1b29);border-color:#5b7590;color:#bcd7ed}
.hq-subtitle{position:absolute;top:31px;left:12px;font-size:8px;color:#d8c7afaa}
.hq.faction-fortress .hptxt{position:relative;z-index:3;margin:0 auto 5px;padding:3px 12px;background:#080806d6;border:1px solid #6e5438;color:#e6dbcb;font-size:18px}
.hq.faction-fortress .hptxt::before{content:"♥ ";color:#b84930}
.hq-unit-slot{position:absolute;right:8px;bottom:6px;width:125px;height:34px;margin:0;border-radius:0}
.lane{min-height:55px;flex:1;border-radius:0;border:1px solid #6a4d2a55;padding:1px 5px;background:linear-gradient(180deg,#1f171147,#130f0b38);box-shadow:inset 0 0 18px #0004}
.lane .label{left:5px;top:3px;font-size:8px;color:#9e8a6b88}
.slots{min-height:52px;height:100%;gap:4px;align-items:center}
.slots.n4{grid-template-columns:repeat(4,minmax(70px,112px))}
.slots.n3{grid-template-columns:repeat(3,minmax(72px,116px))}
.slots.n2{grid-template-columns:repeat(2,minmax(76px,120px))}
.slot{height:50px;border-radius:0;border:1px solid #76522673;background:linear-gradient(135deg,#21170f80,#0f0b0780);box-shadow:inset 0 0 12px #0007}
.slot.empty::after{content:"✥";font-family:serif;font-size:25px;color:#7250257a;text-shadow:0 1px #000}
.slot.valid,.slot.attackable,.slot.movable,.slot.supportable{box-shadow:inset 0 0 0 1px currentColor,0 0 10px currentColor}
.river{height:17px;min-height:17px;border-radius:0;border:0;border-top:1px solid #6d4d2a;border-bottom:1px solid #4c351d;background:linear-gradient(90deg,#342619,#5e4323,#342619);color:#a88757;font-size:8px;letter-spacing:.55em;margin:0}
.unit{border-radius:0;border-width:1px;grid-template-rows:14px 1fr 14px;box-shadow:0 2px 4px #0008;background:#171717!important}
.unit.wei{border-color:#547ea7} .unit.shu{border-color:#688a53} .unit.wu{border-color:#a34e3b}
.uname{font-size:9px;padding:1px 3px;background:#050505c9;text-align:center}
.uimg{font-size:16px;background:#221d17}
.stats{font-size:8px;padding:1px;background:#050505db}
.grade{font-size:6px;padding:1px 3px;right:1px;top:1px;border-radius:1px}
.typeicon{font-size:8px;left:1px;bottom:1px;padding:1px 2px}
.buff,.support-charge{font-size:6px;padding:1px 2px}

.bottom-hud{height:154px;min-height:154px;position:relative;bottom:auto;display:grid;grid-template-columns:minmax(0,1fr) 145px;background:linear-gradient(180deg,#0f1517,#070b0c);border-top:1px solid #785429;box-shadow:0 -4px 15px #000b}
.bottom-hud .hud-status{grid-column:2;grid-row:1;padding:8px;display:block;background:#090d0f}
.bottom-hud .hud-status>:not(.hud-actions){display:none}
.hud-actions{display:grid;grid-template-columns:1fr;gap:7px;min-width:0;height:100%;align-content:center}
.hud-actions .btn{min-height:28px;padding:5px;font-size:11px}
.bottom-hud .handbox{grid-column:1;grid-row:1;border:0;padding:6px 8px;background:#0b1012;min-width:0}
.handhead{height:18px;margin-bottom:3px;font-size:10px;color:#b6a688}
.handhead .small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}
.bottom-hud .hand{height:121px;min-height:121px;gap:5px;overflow-x:auto;overflow-y:hidden}
.bottom-hud .card{flex:0 0 96px;height:118px;border-radius:0;border-width:1px;grid-template-rows:17px 52px 17px 1fr;box-shadow:0 2px 5px #000a;background:#181511!important}
.card.wei{border-color:#4f7eaa} .card.shu{border-color:#608955} .card.wu{border-color:#a44d3d} .card.item{border-color:#a37d3a} .card.tactic{border-color:#8b5d9d}
.cname{font-size:9px;text-align:center;padding:2px;background:#050505d0}
.cimg{background:#221d17}
.cstats{font-size:8px;padding:1px} .ctext{font-size:7px;padding:2px;line-height:1.15}
.cost{width:19px;height:19px;right:2px;top:19px;font-size:9px;border-radius:50%;background:#16110b;border-color:#c59b55}
.card-grade{left:2px;top:19px;font-size:6px;padding:1px 4px;border-radius:2px}

.reference-right{display:flex;flex-direction:column;overflow:hidden;padding:0}
.right-resource-frame{height:110px;min-height:110px;border-bottom:1px solid #65411e;background:linear-gradient(180deg,#130d0b,#090b0c)}
.right-resource-frame .resource-line{min-height:38px}
.mana-pips{display:flex;gap:5px}
.mana-pip{width:18px;height:18px;border-radius:50%;border:2px solid #913425;background:radial-gradient(circle at 35% 30%,#ff9c6d 0 16%,#c73524 18% 58%,#4a0f09 60%);box-shadow:0 0 0 1px #d1804b,0 0 6px #b62b1c88 inset}
.roster-section{min-height:0;border-bottom:1px solid #5d3d1d;background:#080c0d;display:flex;flex-direction:column}
.enemy-roster-section{height:37%} .ally-roster-section{height:40%}
.roster-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:4px;padding:4px;overflow:hidden}
.roster-card{position:relative;min-width:0;min-height:0;border:1px solid #6b4e2f;background:#17120e;overflow:hidden;box-shadow:inset 0 0 0 1px #000}
.roster-card.wei{border-color:#426f97} .roster-card.shu{border-color:#557c4d} .roster-card.wu{border-color:#914432}
.roster-art{position:absolute;inset:0 0 22px;overflow:hidden;background:#1d1712}
.roster-art img,.roster-art>.default-art{width:100%;height:100%;object-fit:cover}
.roster-name{position:absolute;left:0;right:0;bottom:11px;height:15px;background:#050505c7;color:#efe5d6;font-size:8px;font-weight:900;text-align:center;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roster-stats{position:absolute;left:0;right:0;bottom:0;height:12px;background:#050505e6;display:flex;justify-content:space-around;align-items:center;font-size:7px;color:#e8d6b9}
.roster-cost{position:absolute;left:2px;top:2px;width:17px;height:17px;border-radius:50%;background:#15110b;border:1px solid #b98c4f;color:#f0d5a0;font-size:8px;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:3}
.roster-empty{border:1px solid #3c2f22;background:radial-gradient(circle,#261a1080,#080706);display:flex;align-items:center;justify-content:center;color:#604321;font-size:22px}
.selection-strip{flex:1;min-height:72px;overflow:hidden;background:#090d0f}
.selection-strip .details{min-height:0;height:calc(100% - 28px);padding:5px 7px;font-size:9px;line-height:1.35;overflow:auto;color:#b9b0a2}

.game-toast-wrap{top:102px}
.game-toast{border-radius:2px}
.modalbox{border-radius:2px;border-color:#75512a;background:#0d1214}

@media (max-width:1280px){
  .app{grid-template-columns:205px minmax(650px,1fr) 305px}
  .reference-topbar{grid-template-columns:minmax(315px,1.2fr) 125px minmax(260px,1fr)}
  .top-field select{min-width:105px}
  .reference-brand h1{font-size:27px}
}
@media (max-width:1050px){
  html,body{overflow:auto}
  .app{height:auto;display:grid;grid-template-columns:190px minmax(660px,1fr);min-width:900px}
  .reference-right{grid-column:1/3;height:470px;display:grid;grid-template-columns:220px 1fr 1fr 220px}
  .right-resource-frame,.enemy-roster-section,.ally-roster-section,.selection-strip{height:auto!important;min-height:0}
}



/* =======================
   v11 user-requested layout refinements
   ======================= */
.battle-panel{position:relative}
.reference-topbar{
  position:absolute;top:8px;right:10px;z-index:35;
  width:min(520px,calc(100% - 26px));height:auto;min-height:0;
  padding:7px 10px;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;
  gap:6px;border:1px solid #7b5530;background:linear-gradient(180deg,#0e1518f7,#070b0df4);
  box-shadow:inset 0 0 0 1px #000,0 10px 28px #000a;
}
.top-control-group{grid-column:1/3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 108px;gap:8px;align-items:end}
.top-field{min-width:0}
.top-field select{width:100%;min-width:0}
.top-new{height:38px;min-width:0;margin-top:0}
.turn-plate{grid-column:1;grid-row:2;min-height:70px}
.top-options{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:6px;align-content:stretch}
.top-options #cardManagerBtn{grid-column:1;grid-row:2;min-width:0}
.top-options #rulesTopBtn{grid-column:2;grid-row:2;display:block;min-width:0}
.faction-pickers{grid-column:1/3;grid-row:3;justify-content:space-between;padding-top:4px}
.boardwrap{padding-top:122px}
.board{padding:6px 8px 10px;gap:4px}
.basezone{height:172px}
.hq.faction-fortress{height:170px!important;min-height:170px!important}
.hq-title{min-width:225px;font-size:13px}
.hq-subtitle{top:33px;left:14px;font-size:9px}
.hq.faction-fortress .hptxt{display:none}
.hq-unit-slot{right:10px;bottom:8px;width:140px;height:42px;z-index:6}

.hq-info-overlay{position:absolute;left:12px;right:162px;top:44px;display:flex;flex-wrap:wrap;gap:6px;z-index:6;align-items:flex-start}
.hq-stat-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#050608dc;border:1px solid #715332;color:#f1e7d5;font-size:11px;font-weight:800;box-shadow:0 2px 6px #0008}
.hq-stat-chip.hp b{color:#efc7b8}.hq-stat-chip.mp b{color:#d7ecff}.hq-stat-chip.ap b{color:#f0cd7a}.hq-stat-chip.skill b{color:#d5efab}
.hq-advisor-summary{position:absolute;left:12px;right:162px;bottom:10px;min-height:36px;padding:5px 8px;background:linear-gradient(180deg,#050608dc,#030405e6);border:1px solid #6a5032;color:#dfd5c3;font-size:10px;line-height:1.35;z-index:6;display:flex;flex-direction:column;justify-content:center;box-shadow:0 2px 8px #0009}
.hq-advisor-summary b{display:block;font-size:11px;color:#ecd3a6}
#allyHq .hq-advisor-summary b{color:#bad9f4}
#enemyHq .hq-stat-chip{background:#140909dc;border-color:#7c4a36}
#allyHq .hq-stat-chip{background:#071018dc;border-color:#4b667b}
#enemyHq .hq-advisor-summary{background:linear-gradient(180deg,#150a08e6,#090404e6);border-color:#734936}
#allyHq .hq-advisor-summary{background:linear-gradient(180deg,#09111be6,#04080ce6);border-color:#4a647e}

.lane{min-height:76px;padding:3px 8px}
.lane .label{font-size:9px}
.slots{min-height:72px;gap:8px}
.slots.n4{grid-template-columns:repeat(4,minmax(88px,148px))}
.slots.n3{grid-template-columns:repeat(3,minmax(96px,156px))}
.slots.n2{grid-template-columns:repeat(2,minmax(108px,170px))}
.slot{height:68px}
.unit{grid-template-rows:18px 1fr 18px}
.uname{font-size:11px;padding:2px 4px}
.uimg{font-size:20px}
.stats{font-size:10px;padding:2px 3px}
.grade{font-size:7px;padding:1px 4px}
.typeicon{font-size:9px}
.buff,.support-charge{font-size:7px}

.bottom-hud{height:72px;min-height:72px;grid-template-columns:1fr;padding:8px 10px;align-items:center}
.bottom-hud .hud-status{grid-column:1;padding:0;background:transparent}
.bottom-hud .hud-status>:not(.hud-actions){display:none!important}
.hud-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;height:auto;align-content:stretch}
.hud-actions .btn{min-height:42px;font-size:12px}
.bottom-hud .handbox{display:none!important}

.left-status-frame{display:none}
.left-advisor-frame{flex:0 0 auto}

.reference-right{display:flex;flex-direction:column;overflow:hidden;padding:0}
.right-resource-frame{display:none}
.enemy-roster-section{height:32%;flex:0 0 32%}
.right-deck-section{flex:0 0 118px;display:flex;flex-direction:column;border-bottom:1px solid #5d3d1d;background:#090c0d}
.right-deck-body{flex:1;display:flex;align-items:center;gap:12px;padding:8px 10px}
.deck-stack{position:relative;width:84px;height:108px}
.deck-back,.deck-back::before,.deck-back::after{content:"";position:absolute;inset:0;border:1px solid #826039;background:linear-gradient(180deg,#16202a,#0a1015);box-shadow:inset 0 0 0 1px #000}
.deck-back::before{transform:translate(5px,-5px);opacity:.5}
.deck-back::after{transform:translate(10px,-10px);opacity:.25}
.deck-emblem{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Malgun Myeongjo",serif;font-size:28px;color:#d7bf95;z-index:2;text-shadow:0 2px 8px #000}
.deck-info{display:flex;flex-direction:column;gap:4px;color:#cdbda2;font-size:11px}
.deck-info b{font-size:20px;color:#f0e1c7}
.deck-help{color:#9c917e;line-height:1.35}
.right-hand-section{flex:1;min-height:0;display:flex;flex-direction:column;border-bottom:1px solid #5d3d1d;background:#080c0d}
.right-hand-section .handbox{flex:1;min-height:0;border:0;padding:6px 8px;background:#080c0d;display:flex;flex-direction:column}
.right-hand-section .handhead{height:auto;min-height:28px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:11px;color:#c6b79e}
.right-hand-section .handhead .small{font-size:9px;white-space:normal;max-width:none}
#hand.hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:auto;overflow-x:hidden;padding-bottom:4px;min-height:0;height:100%}
#hand.hand .card{flex:none;width:auto;height:145px;border-radius:0;border-width:1px;grid-template-rows:18px 64px 18px 1fr;box-shadow:0 3px 8px #000a;background:#181511!important}
#hand.hand .cname{font-size:10px}
#hand.hand .cstats{font-size:8px}
#hand.hand .ctext{font-size:8px;line-height:1.2;padding:3px}
.selection-strip{flex:0 0 118px;min-height:118px}
.selection-strip .details{font-size:10px;line-height:1.4}
.title-flex{display:flex;align-items:center;justify-content:space-between;padding:0 10px}
.title-count{font-size:11px;color:#d4c5ad}

@media (max-width:1280px){
  .reference-topbar{width:min(470px,calc(100% - 22px))}
  .slots.n4{grid-template-columns:repeat(4,minmax(80px,132px))}
  .slots.n3{grid-template-columns:repeat(3,minmax(88px,140px))}
  .slots.n2{grid-template-columns:repeat(2,minmax(96px,150px))}
  #hand.hand .card{height:132px}
}
@media (max-width:1050px){
  .reference-topbar{position:relative;top:auto;right:auto;width:auto}
  .boardwrap{padding-top:8px}
  .left-status-frame{display:none}
  .reference-right{grid-column:1/3;height:640px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:220px 180px 1fr}
  .enemy-roster-section{grid-column:1;grid-row:1/3;height:auto;flex:auto}
  .right-deck-section{grid-column:2;grid-row:1;height:auto}
  .right-hand-section{grid-column:2;grid-row:2/4;height:auto}
  .selection-strip{grid-column:1;grid-row:3;height:auto}
}



/* =======================
   v12 layout tuning based on latest feedback
   ======================= */
.app{grid-template-columns:220px minmax(560px,.82fr) 360px;gap:6px;padding:6px}
.reference-left{overflow:hidden}
.reference-topbar{
  position:relative;top:auto;right:auto;left:auto;z-index:5;
  width:218px;height:auto;min-height:0;margin:8px 0 6px 8px;padding:6px 7px;
  display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:5px;
  border:1px solid #6f4b27;background:linear-gradient(180deg,#0e1416,#070b0d);box-shadow:inset 0 0 0 1px #000;
}
.top-control-group{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px;align-items:end}
.top-field{gap:2px}
.top-field span{font-size:9px;color:#b8a385}
.top-field select{min-width:0;width:100%;padding:5px 6px;font-size:10px}
.top-new{grid-column:1/3;min-width:0;height:28px;font-size:11px;padding:4px 6px}
.turn-plate{grid-column:auto;grid-row:auto;min-height:0;padding:4px 6px;border:1px solid #62462b;background:#0b1012;display:flex;justify-content:center;align-items:center}
.turn-plate>div{display:none}
.turn-plate .turnbadge{margin:0;padding:2px 0;background:transparent;color:#73b9e8;font-size:11px;letter-spacing:.02em}
.top-options{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:4px 6px;align-items:center}
.checkline{gap:4px;font-size:10px}
.checkline input{width:14px;height:14px;padding:0}
.top-options #cardManagerBtn,.top-options #rulesTopBtn{grid-row:2;min-width:0;height:26px;padding:3px 4px;font-size:10px}
.top-options #cardManagerBtn{grid-column:1}.top-options #rulesTopBtn{grid-column:2;display:block}
.faction-pickers{grid-column:auto;display:grid;grid-template-columns:1fr;gap:4px;justify-content:stretch;padding-top:4px;border-top:1px solid #242d32;font-size:9px}
.faction-pickers label{display:flex;justify-content:space-between;gap:6px}
.faction-pickers select{flex:1;min-width:0;font-size:10px;padding:3px 6px}
.boardwrap{padding-top:0;overflow:auto}
.board{width:80%;min-width:540px;max-width:780px;margin:0 auto;padding:4px 0 8px;gap:4px}
.basezone{height:162px}
.hq.faction-fortress{height:162px!important;min-height:162px!important}
.hq-info-overlay{left:10px;right:146px;top:42px;gap:5px}
.hq-stat-chip{padding:3px 6px;font-size:10px}
.hq-advisor-summary{left:10px;right:146px;bottom:8px;min-height:32px;padding:4px 7px;font-size:9px}
.hq-advisor-summary b{font-size:10px}
.enemy-turn-badge{position:absolute;right:10px;bottom:8px;z-index:7;display:flex;align-items:center;justify-content:center;min-width:48px;height:24px;padding:0 8px;background:#07090bdd;border:1px solid #9d6a35;color:#f3d59f;font-size:12px;font-weight:900;box-shadow:0 2px 8px #0009}
#allyHq .enemy-turn-badge{display:none}
.hq-unit-slot{right:10px;bottom:38px;width:122px;height:36px}

.lane{min-height:68px;padding:2px 6px}
.lane .label{font-size:8px}
.slots{min-height:64px;gap:6px}
.slots.n4{grid-template-columns:repeat(4,minmax(72px,120px))}
.slots.n3{grid-template-columns:repeat(3,minmax(80px,128px))}
.slots.n2{grid-template-columns:repeat(2,minmax(90px,136px))}
.slot{height:60px}
.unit{grid-template-rows:16px 1fr 16px}
.uname{font-size:10px;padding:1px 3px}
.uimg{font-size:18px}
.stats{font-size:9px;padding:1px 2px}
.grade{font-size:6px}
.typeicon{font-size:8px}
.buff,.support-charge{font-size:6px}

.bottom-hud{height:66px;min-height:66px;padding:7px 9px}
.hud-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.hud-actions .btn{min-height:38px;font-size:11px}

.enemy-roster-section{height:31%;flex:0 0 31%}
.right-deck-section{flex:0 0 108px}
.right-deck-body{gap:10px;padding:7px 9px}
.deck-stack{width:78px;height:100px}
.deck-info{font-size:10px}
.deck-info b{font-size:18px}
.right-hand-section .handbox{padding:5px 7px}
.right-hand-section .handhead{min-height:24px;margin-bottom:5px;font-size:10px}
.right-hand-section .handhead .small{font-size:8px}
#hand.hand{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
#hand.hand .card{height:128px;grid-template-rows:17px 56px 16px 1fr}
#hand.hand .cname{font-size:9px}
#hand.hand .cstats{font-size:7px}
#hand.hand .ctext{font-size:7px;line-height:1.15}
.roster-grid{gap:3px;padding:3px}
.roster-name{font-size:7px}
.roster-stats{font-size:6px}
.selection-strip{flex:0 0 104px;min-height:104px}
.selection-strip .details{font-size:9px}

@media (max-width:1280px){
  .app{grid-template-columns:210px minmax(520px,.78fr) 330px}
  .board{width:82%;min-width:500px;max-width:740px}
  .slots.n4{grid-template-columns:repeat(4,minmax(68px,112px))}
  .slots.n3{grid-template-columns:repeat(3,minmax(76px,120px))}
  .slots.n2{grid-template-columns:repeat(2,minmax(84px,128px))}
  #hand.hand .card{height:120px}
}
@media (max-width:1050px){
  .app{height:auto;grid-template-columns:190px minmax(520px,1fr);min-width:860px}
  .reference-topbar{width:174px;margin:6px 0 6px 6px}
  .top-control-group{grid-template-columns:1fr}
  .top-new{grid-column:1}
  .top-options{grid-template-columns:1fr 1fr}
  .board{width:90%;min-width:460px}
  .reference-right{grid-column:1/3;height:620px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 160px 1fr}
}



/* =======================
   v13 compact menu + advisor overlay + reference card design
   ======================= */
.app{grid-template-columns:210px minmax(560px,.82fr) 370px}
.reference-left{display:flex;flex-direction:column}
.reference-brand{padding:12px 8px 10px}
.reference-brand h1{font-size:26px}
.reference-brand .brand-sub{font-size:12px}
.left-status-frame{display:none}
.left-advisor-frame.compact-settings-holder{display:block;flex:0 0 auto;padding:6px 8px 8px;background:#080c0d;border-top:1px solid #503719;border-bottom:1px solid #503719}
.settings-mini-copy{padding:8px 10px;font-size:10px;line-height:1.45;color:#afa490;background:#101518;border:1px solid #544127}
.left-log-frame{margin-top:6px;min-height:140px}
.left-bottom-actions{padding:8px 12px;grid-template-columns:1fr 1fr;gap:6px}
.left-bottom-actions .btn{min-height:30px}

.reference-topbar{position:relative;width:auto;left:auto;top:auto;right:auto;margin:0 8px 8px;padding:6px;border:1px solid #6e4a24;background:linear-gradient(180deg,#11181b,#090d0f);display:grid;grid-template-columns:1fr;gap:5px;box-shadow:inset 0 0 0 1px #000}
.top-control-group{grid-template-columns:1fr 1fr;gap:5px}
.top-field span{font-size:8px}
.top-field select{padding:4px 6px;font-size:10px}
.top-new{grid-column:1/3;height:28px;font-size:10px;padding:4px 6px}
.turn-plate{min-height:0;padding:4px;border:1px solid #4e3a22;background:#0b1012}
.turn-plate>div{display:none}.turn-plate .turnbadge{font-size:11px}
.top-options{grid-template-columns:1fr 1fr;gap:4px}
.top-options #cardManagerBtn,.top-options #rulesTopBtn{height:26px;padding:3px 4px;font-size:10px}
.checkline{font-size:10px}.checkline input{width:14px;height:14px}
.faction-pickers{display:grid;grid-template-columns:1fr;gap:4px;font-size:9px}
.faction-pickers label{display:flex;justify-content:space-between;gap:6px}
.faction-pickers select{flex:1;min-width:0;padding:3px 6px;font-size:10px}

.board{width:80%;min-width:540px;max-width:780px}
.basezone{height:190px}
.hq.faction-fortress{height:188px!important;min-height:188px!important}
.hq-info-overlay{left:10px;right:158px;top:40px}
.hq-advisor-summary{left:10px;right:158px;bottom:8px;min-height:30px;padding:4px 6px;font-size:9px}
.hq-advisor-console{position:absolute;top:38px;right:8px;bottom:8px;width:142px;display:flex;flex-direction:column;gap:4px;padding:0;z-index:8}
.hq-advisor-console .advisor-mirror.in-castle{height:54px;padding:4px;background:linear-gradient(180deg,#0f1418d9,#090d10d9);border:1px solid #5e4528}
.hq-advisor-console .advisor-mirror-card{grid-template-columns:40px 1fr;gap:5px}
.hq-advisor-console .advisor-mirror-art{height:44px}
.hq-advisor-console .advisor-mirror-copy b{font-size:10px;margin-bottom:1px}
.hq-advisor-console .advisor-mirror-copy span{font-size:8px;line-height:1.25}
.hq-advisor-console .advisor-switch.mini{width:100%;margin:0;min-height:22px;padding:3px 4px;font-size:9px}
.hq-advisor-console .compact-skills.in-castle{padding:0}
.hq-advisor-console .compact-skills .notice{padding:4px 5px;margin:0;font-size:8px;line-height:1.25;background:#16110eda;border:1px solid #5b482c;color:#d3c19e}
.hq-advisor-console .compact-skill-grid{display:grid;grid-template-columns:1fr;gap:3px;margin-top:4px}
.hq-advisor-console .compact-skill-grid .skill,.hq-advisor-console .compact-skill-grid .btn{min-height:26px;padding:3px 4px}
.hq-advisor-console .compact-skill-grid .skill b{font-size:9px}.hq-advisor-console .compact-skill-grid .skill span{font-size:7px;line-height:1.15}
.hq-unit-slot{right:156px;bottom:10px;width:112px;height:34px}

.right-hand-section .handhead{display:none}
#hand.hand{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-right:4px}
#hand.hand .card{position:relative;overflow:visible;height:178px;border:1px solid #7a5a33;background:linear-gradient(180deg,#131517,#0b0d0f)!important;box-shadow:0 3px 10px #000b,inset 0 0 0 1px #000;display:grid;grid-template-rows:18px 92px 1fr}
#hand.hand .card.selected{outline:2px solid #7cbcf7;box-shadow:0 0 0 2px #0e2438,0 0 18px #59a9ff55}
#hand.hand .cname{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;padding:1px 4px;background:linear-gradient(180deg,#3d2a1f,#1c1511);border-bottom:1px solid #7f6039;color:#f2eadf;line-height:1.1}
#hand.hand .cimg{position:relative;background:#1b1713;overflow:hidden;border-bottom:1px solid #3d3024}
#hand.hand .cimg img,#hand.hand .cimg .default-art{width:100%;height:100%;object-fit:cover}
#hand.hand .card-grade{left:4px;top:22px;padding:1px 4px;border-radius:2px;font-size:8px}
#hand.hand .cost{right:4px;top:22px;width:22px;height:22px;font-size:10px}
#hand.hand .cstats{display:grid;grid-template-rows:auto auto;gap:4px;padding:5px 5px 6px;background:linear-gradient(180deg,#131619,#0d1012)}
#hand.hand .card-type-line{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#d5c7b0}
#hand.hand .card-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
#hand.hand .card-stat-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;background:#171d22;border:1px solid #374450;min-height:34px}
#hand.hand .card-stat-cell b{font-size:18px;line-height:1;color:#edf3ff}
#hand.hand .card-stat-cell span{font-size:8px;color:#aac3da;letter-spacing:.02em}
#hand.hand .card-stat-cell.subtle{background:#171310;border-color:#5c4a32}
#hand.hand .card-stat-cell.subtle b{font-size:13px;color:#f0dfbf}
#hand.hand .ctext{display:none}
#hand.hand .card-hover-tooltip{position:absolute;left:calc(100% + 8px);top:6px;width:190px;padding:8px 10px;background:#111316f2;border:1px solid #8b673a;color:#ede4d4;font-size:11px;line-height:1.45;box-shadow:0 10px 24px #000c;opacity:0;pointer-events:none;transform:translateX(-4px);transition:opacity .16s ease,transform .16s ease;z-index:40}
#hand.hand .card-hover-tooltip b{display:block;margin-bottom:4px;color:#f2d49e;font-size:12px}
#hand.hand .card:hover .card-hover-tooltip{opacity:1;transform:translateX(0)}
#hand.hand .card:nth-child(2n) .card-hover-tooltip{left:auto;right:calc(100% + 8px)}
#hand.hand .card.advisor-card-hand .card-stat-cell b{font-size:12px}
#hand.hand .card.item .card-stat-grid,#hand.hand .card.tactic .card-stat-grid,#hand.hand .card.advisor-card-hand .card-stat-grid{grid-template-columns:repeat(2,1fr)}
#hand.hand .card.item .card-stat-cell:last-child,#hand.hand .card.tactic .card-stat-cell:last-child,#hand.hand .card.advisor-card-hand .card-stat-cell:last-child{grid-column:1/3}

@media (max-width:1280px){
  .app{grid-template-columns:198px minmax(520px,.8fr) 340px}
  .board{min-width:500px;max-width:730px}
  #hand.hand .card{height:166px}
  .hq-advisor-console{width:134px}
  .hq-info-overlay,.hq-advisor-summary{right:148px}
  .hq-unit-slot{right:148px}
}

.no-anim *{animation:none!important;transition:none!important}

/* =======================
   v14 move top menu under left battle log
   ======================= */
.left-log-frame{min-height:120px;flex:1 1 auto}
.left-menu-dock{flex:0 0 auto;padding:6px 8px 10px;border-top:1px solid #4f3518;background:#090d0f}
#leftMenuMount{margin-top:6px}
#leftMenuMount .reference-topbar{margin:0;width:100%;border:1px solid #6e4a24;background:linear-gradient(180deg,#10171a,#090d0f);box-shadow:inset 0 0 0 1px #000}
#leftMenuMount .top-control-group{grid-template-columns:1fr;gap:4px}
#leftMenuMount .top-new{grid-column:auto;height:26px}
#leftMenuMount .turn-plate{padding:4px 6px}
#leftMenuMount .turn-plate .turnbadge{display:block;text-align:center}
#leftMenuMount .top-options{grid-template-columns:1fr 1fr;gap:4px}
#leftMenuMount .top-options #cardManagerBtn,#leftMenuMount .top-options #rulesTopBtn{grid-column:auto;grid-row:auto}
#leftMenuMount .faction-pickers{grid-template-columns:1fr;gap:4px}
#leftMenuMount .faction-pickers label{justify-content:space-between}
#leftMenuMount .faction-pickers select{flex:1;min-width:0}
.battle-panel>.reference-topbar{display:none!important}
.battle-panel{padding-top:0}
.boardwrap{padding-top:0}



/* =======================
   v15 compact HQ + large battlefield cards + fixed card function tooltip
   ======================= */
/* 중앙 하단 HUD는 제거하고 우측 하단 명령 버튼을 사용 */
.bottom-hud{display:none!important}

/* 본진을 낮추고 폭도 살짝 줄임 */
.basezone{display:block!important;position:relative;height:118px!important;min-height:118px!important;width:100%!important;margin:0!important}
.basezone>.hq{display:flex!important;position:relative;width:90%!important;height:116px!important;min-height:116px!important;margin:0 auto!important;grid-column:auto!important;grid-row:auto!important}
.hq.faction-fortress{height:116px!important;min-height:116px!important;background-position:center 43%!important}
.hq-title{min-width:190px;padding:4px 20px 5px;font-size:11px}
.hq-subtitle{top:27px;left:10px;font-size:7px}
.hq-info-overlay{left:9px;right:132px;top:31px;gap:4px}
.hq-stat-chip{padding:2px 5px;font-size:9px}
.hq-advisor-summary{left:9px;right:132px;bottom:7px;min-height:25px;padding:3px 5px;font-size:8px;line-height:1.2}
.hq-advisor-summary b{font-size:9px}
.enemy-turn-badge{right:8px;bottom:7px;height:21px;min-width:43px;font-size:10px}
.hq-unit-slot{right:134px;bottom:6px;width:92px;height:27px}

/* 좌/우 책사 배치칸을 본진 이미지 안에 실제로 넣어 보이게 함 */
.hq>.advisor{position:absolute!important;right:7px!important;width:118px!important;height:32px!important;min-height:32px!important;z-index:12;border:1px solid #76532d!important;background:linear-gradient(180deg,#171b1cde,#080b0cde)!important;padding:2px 4px!important}
.hq>.advisor[data-advisor="left"]{top:31px!important}
.hq>.advisor[data-advisor="right"]{top:66px!important}
.hq>.advisor .advisor-empty{font-size:8px!important;line-height:1.15!important}
.hq>.advisor .advisor-card.rich{grid-template-columns:27px 1fr!important;gap:3px!important}
.hq>.advisor .advisor-portrait{width:27px!important;height:27px!important}
.hq>.advisor .advisor-copy b{font-size:8px!important}
.hq>.advisor .advisor-copy .advisor-meta,.hq>.advisor .advisor-level{font-size:6px!important}

/* 아군 책사 스킬 콘솔 역시 본진 내부에 완전히 수납 */
.hq-advisor-console{position:absolute!important;left:40%!important;right:130px!important;top:31px!important;bottom:7px!important;width:auto!important;display:flex!important;flex-direction:column!important;gap:3px!important;overflow:hidden!important;z-index:10}
.hq-advisor-console .advisor-mirror.in-castle{display:none!important}
.hq-advisor-console .advisor-switch.mini{width:100%!important;margin:0!important;min-height:18px!important;height:18px!important;padding:1px 3px!important;font-size:7px!important}
.hq-advisor-console .compact-skills.in-castle{padding:0!important;min-height:0!important}
.hq-advisor-console .compact-skills .notice{display:none!important}
.hq-advisor-console .compact-skill-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px!important;margin:0!important}
.hq-advisor-console .compact-skill-grid .skill,.hq-advisor-console .compact-skill-grid .btn{min-height:27px!important;height:27px!important;padding:2px 3px!important;overflow:hidden!important}
.hq-advisor-console .compact-skill-grid .skill b{font-size:7px!important;line-height:1!important}
.hq-advisor-console .compact-skill-grid .skill span{font-size:5.5px!important;line-height:1!important}
.hq-advisor-console #upgradeAdvisorBtn{font-size:6.5px!important;line-height:1.05!important}

/* 전투 필드 카드의 높이를 키워 이미지 가독성 강화 */
.lane{min-height:86px!important;height:auto!important;padding:2px 6px!important}
.slots{min-height:82px!important;height:82px!important;gap:7px!important}
.slot{height:80px!important}
.unit{grid-template-rows:18px 1fr 18px!important}
.uname{font-size:10px!important;padding:2px 3px!important}
.uimg{font-size:22px!important;min-height:42px!important}
.stats{font-size:9px!important;padding:2px!important}
.grade{font-size:7px!important;padding:1px 3px!important}
.typeicon{font-size:9px!important}

/* 우측 핸드: 6장을 3 x 2로 배치해 스크롤 없이 표시 */
.enemy-roster-section{height:24%!important;flex:0 0 24%!important}
.right-deck-section{flex:0 0 88px!important}
.right-deck-body{padding:5px 8px!important;gap:8px!important}
.deck-stack{width:58px!important;height:70px!important}
.deck-info{font-size:9px!important;gap:2px!important}
.deck-info b{font-size:15px!important}
.deck-help{font-size:8px!important}
.right-hand-section{flex:1 1 auto!important;min-height:330px!important;overflow:visible!important}
.right-hand-section .handbox{padding:5px!important;overflow:visible!important}
#hand.hand{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,154px)!important;grid-auto-rows:154px!important;gap:5px!important;height:auto!important;min-height:313px!important;overflow:visible!important;align-content:start!important;padding:0!important}
#hand.hand .card{width:100%!important;height:154px!important;min-width:0!important;min-height:0!important;grid-template-rows:17px 80px 1fr!important;overflow:hidden!important}
#hand.hand .cname{font-size:8px!important;padding:1px 2px!important}
#hand.hand .cimg{min-height:0!important}
#hand.hand .card-grade{left:2px!important;top:19px!important;font-size:6px!important;padding:1px 3px!important}
#hand.hand .cost{right:2px!important;top:19px!important;width:18px!important;height:18px!important;font-size:8px!important}
#hand.hand .cstats{padding:3px!important;gap:2px!important}
#hand.hand .card-type-line{font-size:6px!important}
#hand.hand .card-stat-grid{gap:2px!important}
#hand.hand .card-stat-cell{min-height:26px!important;padding:2px 1px!important}
#hand.hand .card-stat-cell b{font-size:13px!important}
#hand.hand .card-stat-cell span{font-size:6px!important}
#hand.hand .card-stat-cell.subtle b{font-size:8px!important}
#hand.hand .ctext,#hand.hand .card-hover-tooltip{display:none!important}

/* 부모 overflow와 무관한 전역 카드 기능 팝업 */
.card-function-tooltip{position:fixed;z-index:500;display:none;max-width:240px;min-width:150px;padding:8px 10px;background:#0c0f11f5;border:1px solid #a2753d;color:#f0e7d8;font-size:11px;line-height:1.45;box-shadow:0 10px 28px #000d;pointer-events:none;white-space:normal;overflow-wrap:anywhere}
.card-function-tooltip.show{display:block}
.card-function-tooltip::before{content:"카드 기능";display:block;margin-bottom:4px;color:#e6bd7a;font-size:10px;font-weight:900}

/* 우측 하단: 선택 정보 대신 전투 버튼 */
.right-action-strip{flex:0 0 112px!important;min-height:112px!important;border-top:1px solid #60401e;background:#080c0e;display:flex;flex-direction:column}
.right-action-strip #details{display:none!important}
.right-action-mount{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;padding:7px}
.right-action-mount .btn{width:100%!important;height:100%!important;min-height:32px!important;padding:6px 5px!important;font-size:11px!important}
.right-action-mount #shuffleBtn{grid-column:1;grid-row:1}
.right-action-mount #cancelBtn{grid-column:2;grid-row:1}
.right-action-mount #endTurnBtn{grid-column:1/3;grid-row:2;font-size:13px!important;font-weight:900!important}

@media(max-width:1280px){
  .basezone{height:112px!important;min-height:112px!important}
  .basezone>.hq,.hq.faction-fortress{height:110px!important;min-height:110px!important}
  .lane{min-height:82px!important}
  .slots{min-height:78px!important;height:78px!important}
  .slot{height:76px!important}
  #hand.hand{grid-template-rows:repeat(2,145px)!important;grid-auto-rows:145px!important;min-height:295px!important}
  #hand.hand .card{height:145px!important;grid-template-rows:16px 74px 1fr!important}
}

/* ================================================================
   v16 screenshot-inspired placement — layout only, original visual theme retained
   HQ/advisors are moved to a narrow right rail to maximize battle-row height.
   ================================================================ */
.boardwrap{padding-top:0!important;overflow:hidden!important}
.battlefield-layout{
  height:100%;min-height:0;width:100%;display:grid;
  grid-template-columns:minmax(0,1fr) 184px;gap:0;
  padding:5px 0;
}
.battlefield-layout>.board{
  width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;
  margin:0!important;padding:0!important;display:grid!important;
  grid-template-rows:repeat(3,minmax(92px,1fr)) 22px repeat(3,minmax(92px,1fr));
  gap:5px!important;align-content:stretch!important;
}
.battlefield-layout .lane{
  min-height:0!important;height:100%!important;padding:3px 6px!important;overflow:visible;
}
.battlefield-layout .lane .label{font-size:9px!important;top:3px!important;left:6px!important}
.battlefield-layout .slots{
  width:100%;height:100%!important;min-height:0!important;margin:0 auto;gap:7px!important;
  align-items:center!important;justify-content:center!important;
}
.battlefield-layout .slots.n4{grid-template-columns:repeat(4,minmax(72px,1fr))!important;max-width:650px}
.battlefield-layout .slots.n3{grid-template-columns:repeat(3,minmax(78px,1fr))!important;max-width:510px;width:82%}
.battlefield-layout .slots.n2{grid-template-columns:repeat(2,minmax(86px,1fr))!important;max-width:365px;width:58%}
.battlefield-layout .slot{
  width:100%!important;height:calc(100% - 8px)!important;min-height:78px!important;max-height:114px!important;
}
.battlefield-layout .unit{grid-template-rows:20px 1fr 20px!important}
.battlefield-layout .uname{font-size:11px!important;padding:2px 4px!important}
.battlefield-layout .uimg{font-size:24px!important;min-height:0!important}
.battlefield-layout .stats{font-size:10px!important;padding:2px!important}
.battlefield-layout .grade{font-size:8px!important;padding:1px 4px!important}
.battlefield-layout .typeicon{font-size:10px!important;padding:1px 3px!important}
.battlefield-layout .river{height:22px!important;min-height:22px!important;margin:0!important}

.field-side-rail{
  min-width:0;height:100%;display:flex;flex-direction:column;gap:5px;
  border-left:1px solid #72502c;background:linear-gradient(180deg,#11100d99,#080a0b80);
  padding-left:0;
}
.rail-side-group{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}
.rail-spacer{flex:1 1 auto;min-height:28px;border-top:1px solid #4c361f33;border-bottom:1px solid #4c361f33}
.rail-hq-wrap{width:100%;height:154px;min-height:154px}
.field-side-rail .hq.faction-fortress{
  display:flex!important;position:relative!important;width:100%!important;height:154px!important;min-height:154px!important;
  margin:0!important;padding:0!important;border-radius:0!important;background-position:center 44%!important;
}
.field-side-rail .hq-title{
  top:0!important;left:50%!important;min-width:142px!important;max-width:calc(100% - 10px);
  padding:4px 12px 5px!important;font-size:10px!important;white-space:nowrap;
}
.field-side-rail .hq-subtitle{top:28px!important;left:7px!important;font-size:7px!important}
.field-side-rail .hq.faction-fortress .hptxt{display:none!important}
.field-side-rail .hq-info-overlay{
  left:6px!important;right:6px!important;top:34px!important;display:grid!important;grid-template-columns:1fr 1fr;gap:3px!important;
}
.field-side-rail .hq-stat-chip{justify-content:center!important;padding:2px 3px!important;font-size:8px!important;min-width:0}
.field-side-rail .hq-advisor-summary{
  left:6px!important;right:6px!important;bottom:7px!important;min-height:36px!important;max-height:39px!important;
  padding:3px 4px!important;font-size:7px!important;line-height:1.2!important;overflow:hidden!important;
}
.field-side-rail .hq-advisor-summary b{font-size:8px!important}
.field-side-rail .enemy-turn-badge{right:6px!important;bottom:48px!important;height:18px!important;min-width:37px!important;font-size:8px!important}
.field-side-rail .hq-unit-slot{
  left:6px!important;right:auto!important;bottom:48px!important;width:86px!important;height:22px!important;margin:0!important;z-index:8;
}
.field-side-rail .hq-unit-slot.empty::after{font-size:7px!important}
.field-side-rail .base-unit{grid-template-columns:20px 1fr auto!important;gap:2px!important;padding:1px 2px!important}
.field-side-rail .base-unit-art{height:18px!important;font-size:12px!important}
.field-side-rail .base-unit-name{font-size:7px!important}.field-side-rail .base-unit-stat{font-size:6px!important}

.rail-advisor-row{display:grid;grid-template-columns:1fr 1fr;gap:4px;height:69px;min-height:69px}
.field-side-rail .advisor{
  position:relative!important;inset:auto!important;width:auto!important;height:69px!important;min-height:69px!important;
  margin:0!important;padding:3px!important;border:1px solid #72502c!important;border-radius:0!important;
  background:linear-gradient(180deg,#15191a,#090c0d)!important;overflow:hidden!important;
}
.field-side-rail .advisor.has-portrait{padding:2px!important}
.field-side-rail .advisor-card.rich{grid-template-columns:31px 1fr!important;gap:3px!important;height:100%!important}
.field-side-rail .advisor-portrait{width:31px!important;height:57px!important}
.field-side-rail .advisor-copy b{font-size:8px!important}
.field-side-rail .advisor-copy .advisor-meta{font-size:6px!important;line-height:1.1!important}
.field-side-rail .advisor-level{font-size:6px!important;padding:1px 3px!important}
.field-side-rail .advisor-empty{font-size:9px!important;line-height:1.3!important;color:#d2c6b2!important}

/* 아군 책사 스킬은 본진 내부 하단에 작게 유지하여 기능 손실을 막는다. */
.field-side-rail #allyHq .hq-advisor-summary{display:none!important}
.field-side-rail #allyHq .hq-advisor-console{
  display:block!important;position:absolute!important;left:6px!important;right:6px!important;top:auto!important;bottom:6px!important;
  width:auto!important;height:58px!important;overflow:hidden!important;z-index:10!important;
}
.field-side-rail #allyHq .advisor-mirror.in-castle,.field-side-rail #allyHq .compact-skills .notice{display:none!important}
.field-side-rail #allyHq .advisor-switch.mini{height:17px!important;min-height:17px!important;width:100%!important;margin:0 0 2px!important;padding:1px 3px!important;font-size:6px!important}
.field-side-rail #allyHq .compact-skill-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:2px!important;margin:0!important}
.field-side-rail #allyHq .compact-skill-grid .skill,.field-side-rail #allyHq .compact-skill-grid .btn{height:18px!important;min-height:18px!important;padding:1px 2px!important}
.field-side-rail #allyHq .compact-skill-grid .skill b{font-size:6px!important;line-height:1!important}
.field-side-rail #allyHq .compact-skill-grid .skill span{display:none!important}
.field-side-rail #allyHq #upgradeAdvisorBtn{font-size:5.5px!important;line-height:1!important}
.field-side-rail #allyHq .hq-unit-slot{bottom:67px!important}

@media(max-width:1280px){
  .battlefield-layout{grid-template-columns:minmax(0,1fr) 164px;gap:0}
  .rail-hq-wrap{height:142px;min-height:142px}
  .field-side-rail .hq.faction-fortress{height:142px!important;min-height:142px!important}
  .rail-advisor-row{height:62px;min-height:62px}
  .field-side-rail .advisor{height:62px!important;min-height:62px!important}
  .field-side-rail .advisor-portrait{height:50px!important;width:28px!important}
  .battlefield-layout .slots{gap:5px!important}
  .battlefield-layout .slots.n4{grid-template-columns:repeat(4,minmax(62px,1fr))!important}
}

/* ================================================================
   v18 — screenshot-proportioned battlefield + zero field/HQ gap
   + direct mana/AP readout above allied advisors + larger typography
   ================================================================ */

/* 전투 필드와 본진 레일을 스크린샷과 비슷한 약 3:1 비율로 붙여 배치 */
.battlefield-layout{
  grid-template-columns:minmax(0,3.15fr) minmax(190px,1fr)!important;
  gap:0!important;
  padding:0!important;
}
.battlefield-layout>.board{
  border-right:0!important;
  padding:0!important;
  gap:4px!important;
}
.field-side-rail{
  margin:0!important;
  padding:0!important;
  gap:4px!important;
  border-left:1px solid #77512b!important;
}

/* 필드 행을 더 넓게 사용하고 전투 카드가 빈 공간 없이 크게 보이도록 조정 */
.battlefield-layout>.board{
  grid-template-rows:repeat(3,minmax(104px,1fr)) 24px repeat(3,minmax(104px,1fr))!important;
}
.battlefield-layout .lane{
  padding:4px 5px!important;
}
.battlefield-layout .slots{
  gap:8px!important;
}
.battlefield-layout .slots.n4{max-width:720px!important;width:94%!important}
.battlefield-layout .slots.n3{max-width:590px!important;width:82%!important}
.battlefield-layout .slots.n2{max-width:440px!important;width:62%!important}
.battlefield-layout .slot{
  height:calc(100% - 10px)!important;
  min-height:88px!important;
  max-height:136px!important;
}
.battlefield-layout .river{
  height:24px!important;
  min-height:24px!important;
  font-size:12px!important;
  letter-spacing:7px!important;
}

/* 아군 책사 바로 위에 마나/행동력을 크게 표시 */
.rail-resource-strip{
  height:42px;
  min-height:42px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  background:linear-gradient(180deg,#111619,#080c0e);
  border-top:1px solid #654621;
  border-bottom:1px solid #654621;
}
.rail-resource-item{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  padding:4px 6px;
  border:1px solid #4b4234;
  background:#090d0fda;
  box-shadow:inset 0 0 0 1px #000;
  font-weight:900;
}
.rail-resource-item span{
  font-size:10px;
  color:#b9ad98;
  white-space:nowrap;
}
.rail-resource-item b{
  font-size:17px;
  line-height:1;
  color:#f0e8dc;
  white-space:nowrap;
}
.rail-resource-item.mana{border-color:#49687c;background:linear-gradient(180deg,#10202b,#081117)}
.rail-resource-item.mana b{color:#a9d9ff;text-shadow:0 0 8px #3d91c766}
.rail-resource-item.ap{border-color:#765b2d;background:linear-gradient(180deg,#302714,#141108)}
.rail-resource-item.ap b{color:#f3c868;text-shadow:0 0 8px #e6ae4466}

/* 본진/책사 비율: 본진은 충분히 읽히되 전투 필드 공간을 우선 */
.rail-hq-wrap{height:150px!important;min-height:150px!important}
.field-side-rail .hq.faction-fortress{height:150px!important;min-height:150px!important}
.rail-advisor-row{height:74px!important;min-height:74px!important}
.field-side-rail .advisor{height:74px!important;min-height:74px!important}
.field-side-rail .advisor-portrait{width:34px!important;height:62px!important}
.rail-spacer{min-height:16px!important}

/* 전체적으로 너무 작았던 글자를 한 단계 확대 */
.battlefield-layout .lane .label{font-size:12px!important;font-weight:800!important;color:#bba583a6!important}
.battlefield-layout .unit{grid-template-rows:22px 1fr 22px!important}
.battlefield-layout .uname{font-size:13px!important;padding:3px 5px!important}
.battlefield-layout .uimg{font-size:27px!important}
.battlefield-layout .stats{font-size:12px!important;padding:3px!important}
.battlefield-layout .grade{font-size:9px!important}
.battlefield-layout .typeicon{font-size:11px!important}
.battlefield-layout .buff,.battlefield-layout .support-charge{font-size:8px!important}

.field-side-rail .hq-title{font-size:12px!important;min-width:156px!important}
.field-side-rail .hq-subtitle{font-size:9px!important}
.field-side-rail .hq-stat-chip{font-size:10px!important;padding:3px 4px!important}
.field-side-rail .hq-advisor-summary{font-size:9px!important;line-height:1.25!important}
.field-side-rail .hq-advisor-summary b{font-size:10px!important}
.field-side-rail .enemy-turn-badge{font-size:10px!important;height:20px!important}
.field-side-rail .hq-unit-slot.empty::after{font-size:8px!important}
.field-side-rail .base-unit-name{font-size:8px!important}
.field-side-rail .base-unit-stat{font-size:7px!important}

.field-side-rail .advisor-copy b{font-size:10px!important}
.field-side-rail .advisor-copy .advisor-meta{font-size:8px!important;line-height:1.2!important}
.field-side-rail .advisor-level{font-size:8px!important;padding:1px 4px!important}
.field-side-rail .advisor-empty{font-size:11px!important;line-height:1.35!important}
.field-side-rail .advisor .mana{font-size:11px!important}

/* 좌/우 메뉴와 우측 카드 패널도 가독성 위주로 소폭 확대 */
.reference-left .ornate-title,.reference-right .ornate-title{font-size:14px!important}
.settings-mini-copy{font-size:11px!important}
.left-log-frame .log{font-size:11px!important}
#leftMenuMount .top-field span,.faction-pickers{font-size:10px!important}
#leftMenuMount .top-field select,#leftMenuMount .faction-pickers select{font-size:11px!important}
#leftMenuMount .turn-plate .turnbadge{font-size:12px!important}
#leftMenuMount .checkline{font-size:11px!important}
#leftMenuMount .btn,.left-bottom-actions .btn{font-size:12px!important}

.deck-info{font-size:11px!important}
.deck-info b{font-size:17px!important}
.deck-help{font-size:9px!important}
#hand.hand .cname{font-size:9px!important}
#hand.hand .card-type-line{font-size:7px!important}
#hand.hand .card-stat-cell span{font-size:7px!important}
.right-action-mount .btn{font-size:12px!important}
.right-action-mount #endTurnBtn{font-size:14px!important}

@media(max-width:1280px){
  .battlefield-layout{grid-template-columns:minmax(0,3.05fr) minmax(176px,1fr)!important}
  .rail-resource-strip{height:39px;min-height:39px;padding:3px}
  .rail-resource-item b{font-size:15px}
  .rail-resource-item span{font-size:9px}
  .rail-hq-wrap{height:140px!important;min-height:140px!important}
  .field-side-rail .hq.faction-fortress{height:140px!important;min-height:140px!important}
  .rail-advisor-row{height:68px!important;min-height:68px!important}
  .field-side-rail .advisor{height:68px!important;min-height:68px!important}
  .field-side-rail .advisor-portrait{height:56px!important;width:31px!important}
  .battlefield-layout .uname{font-size:12px!important}
  .battlefield-layout .stats{font-size:11px!important}
}

/* ================================================================
   v19 — target screenshot layout + soldier image registration UX
   ================================================================ */
/* 2번 참고 화면처럼: 좌측 메뉴 / 압축된 전투영역 / 넓은 우측 카드영역 비율 */
.app{
  grid-template-columns:210px minmax(560px,1.7fr) minmax(340px,1fr)!important;
  gap:4px!important;padding:4px!important;
}

/* 전투열 옆에 본진 레일을 바짝 붙이고, 중앙의 불필요한 빈 폭을 줄임 */
.battlefield-layout{
  grid-template-columns:minmax(0,1.32fr) minmax(220px,1fr)!important;
  gap:0!important;padding:0!important;
}
.battlefield-layout>.board{min-width:0!important;max-width:none!important;width:100%!important}
.battlefield-layout .slots.n4{width:96%!important;max-width:none!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.battlefield-layout .slots.n3{width:84%!important;max-width:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.battlefield-layout .slots.n2{width:64%!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.field-side-rail{min-width:220px!important}

/* 우측 핸드는 2번 참고 화면처럼 3 x 2 유지, 카드 가독성 확보 */
.reference-right{min-width:0!important}
#hand.hand{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* 카드/병사 이미지 관리자 */
.manager-search{grid-template-columns:minmax(0,1fr) 92px 104px!important}
.manager-upload-label{
  display:block;padding:7px 9px;border:1px solid #6f532e;background:linear-gradient(180deg,#241b10,#100d09);
  color:#efd39d;font-size:11px;font-weight:900;text-align:center;cursor:pointer;
}
.manager-upload-label:hover{filter:brightness(1.12)}
.manager-help b{color:#f0cf92}

@media (max-width:1280px) and (min-width:851px){
  .app{grid-template-columns:188px minmax(530px,1.7fr) minmax(315px,1fr)!important;gap:3px!important;padding:2px!important;min-width:1038px!important}
  .battlefield-layout{grid-template-columns:minmax(0,1.32fr) minmax(218px,1fr)!important}
  .field-side-rail{min-width:218px!important}
  .reference-brand h1{font-size:25px!important}
  .reference-brand{padding-left:10px!important;padding-right:8px!important}
}

/* 기존 1050px 이하에서 우측 패널이 아래로 내려가던 규칙을 덮어써 2번 화면의 3열 배치를 유지 */
@media (max-width:1050px) and (min-width:851px){
  .app{height:100vh!important;grid-template-columns:188px 530px minmax(315px,1fr)!important;min-width:1038px!important}
  .reference-right{grid-column:auto!important;height:calc(100vh - 4px)!important;display:flex!important;flex-direction:column!important}
  .enemy-roster-section{height:24%!important;flex:0 0 24%!important}
  .right-deck-section{flex:0 0 88px!important}
  .right-hand-section{flex:1 1 auto!important;min-height:330px!important}
}

/* ================================================================
   v20 — PC compact 3-column layout
   - removes the separate right-hand panel chrome/empty space
   - unifies HQ/advisors/deck/hand/resources into one right HUD
   - gives the battlefield the full center column
   ================================================================ */
@media (min-width:851px){
  html,body{width:100%;height:100%;overflow:hidden!important}
  .app{
    width:100vw!important;height:100vh!important;min-height:0!important;
    display:grid!important;
    grid-template-columns:205px minmax(560px,1fr) minmax(330px,370px)!important;
    gap:3px!important;padding:3px!important;
  }
  .panel{border-radius:0!important}
  .reference-left,.battle-panel,.reference-right{height:calc(100vh - 6px)!important;min-height:0!important}

  /* 중앙은 전투 필드만 사용: 본진 레일 때문에 생기던 폭 손실 제거 */
  .boardwrap{height:100%!important;min-height:0!important;overflow:hidden!important;padding:0!important}
  .battlefield-layout{
    display:block!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;
  }
  .battlefield-layout>.board{
    width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
    padding:0!important;gap:4px!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:repeat(3,minmax(0,1fr)) 24px repeat(3,minmax(0,1fr))!important;
  }
  .battlefield-layout .lane{height:100%!important;min-height:0!important;padding:3px 5px!important}
  .battlefield-layout .slots{height:100%!important;min-height:0!important;width:100%!important;max-width:none!important;gap:6px!important}
  .battlefield-layout .slots.n4{width:96%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .battlefield-layout .slots.n3{width:82%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .battlefield-layout .slots.n2{width:62%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .battlefield-layout .slot{height:calc(100% - 8px)!important;min-height:70px!important;max-height:none!important}

  /* 우측을 사진처럼 하나의 세로 HUD로 통합 */
  .reference-right{
    position:relative!important;display:flex!important;flex-direction:column!important;
    overflow:hidden!important;padding:0!important;background:#080c0d!important;
  }
  .field-side-rail{display:contents!important}
  .rail-spacer{display:none!important}
  .enemy-roster-section{display:none!important}
  .enemy-rail-group{order:1!important;flex:0 0 auto!important;gap:3px!important}
  .right-deck-section{order:2!important;flex:0 0 76px!important;min-height:76px!important}
  .right-hand-section{order:3!important;flex:1 1 auto!important;min-height:190px!important;border-bottom:1px solid #5d3d1d!important;background:#080c0d!important}
  .ally-rail-group{order:4!important;flex:0 0 auto!important;gap:3px!important}
  .right-action-strip{display:none!important}

  /* 본진 + 책사 크기는 화면 높이에 맞춰 자연스럽게 조정 */
  .rail-hq-wrap{height:clamp(118px,15.5vh,150px)!important;min-height:118px!important}
  .field-side-rail .hq.faction-fortress{
    width:100%!important;height:clamp(118px,15.5vh,150px)!important;min-height:118px!important;
  }
  .rail-advisor-row{height:clamp(56px,7.5vh,72px)!important;min-height:56px!important;gap:3px!important}
  .field-side-rail .advisor{height:100%!important;min-height:0!important}
  .field-side-rail .advisor-portrait{height:calc(100% - 6px)!important;max-height:62px!important}
  .rail-resource-strip{height:38px!important;min-height:38px!important;padding:3px!important;gap:3px!important}
  .rail-resource-item{padding:3px 5px!important}
  .rail-resource-item span{font-size:9px!important}
  .rail-resource-item b{font-size:15px!important}

  /* 별도 '핸드 전용 공간'의 제목/설명/여백 제거. 카드 그리드만 HUD에 밀착 배치 */
  .right-hand-section>.ornate-title,.right-hand-section .handhead{display:none!important}
  .right-hand-section .handbox{
    width:100%!important;height:100%!important;min-height:0!important;flex:1 1 auto!important;
    padding:4px!important;margin:0!important;border:0!important;overflow:hidden!important;background:#080c0d!important;
  }
  #hand.hand{
    width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;
    gap:4px!important;overflow:hidden!important;align-content:stretch!important;
  }
  #hand.hand .card{
    width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    border-radius:0!important;grid-template-rows:16px minmax(42px,1fr) auto!important;overflow:hidden!important;
  }
  #hand.hand .cname{font-size:8px!important;padding:1px 2px!important}
  #hand.hand .cimg{min-height:0!important}
  #hand.hand .cstats{padding:2px!important;gap:2px!important}
  #hand.hand .card-stat-grid{gap:2px!important}
  #hand.hand .card-stat-cell{min-height:22px!important;padding:1px!important}
  #hand.hand .card-stat-cell b{font-size:11px!important}
  #hand.hand .card-stat-cell span{font-size:6px!important}
  #hand.hand .card-type-line{font-size:6px!important}
  #hand.hand .ctext,#hand.hand .card-hover-tooltip{display:none!important}

  /* 덱과 명령 버튼을 같은 줄에 배치하여 별도 명령 공간 삭제 */
  .right-deck-body{
    height:100%!important;min-height:0!important;display:grid!important;
    grid-template-columns:50px minmax(72px,1fr) 112px!important;gap:6px!important;align-items:center!important;padding:5px 6px!important;
  }
  .deck-stack{width:46px!important;height:58px!important}
  .deck-emblem{font-size:20px!important}
  .deck-info{font-size:9px!important;gap:1px!important;min-width:0!important}
  .deck-info b{font-size:16px!important;line-height:1!important}
  .deck-help{display:none!important}
  .deck-action-mount{
    width:100%!important;height:62px!important;min-width:0!important;padding:0!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:23px 35px!important;
    gap:3px!important;
  }
  .deck-action-mount .btn{min-width:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:2px 3px!important;font-size:8px!important}
  .deck-action-mount #shuffleBtn{grid-column:1!important;grid-row:1!important}
  .deck-action-mount #cancelBtn{grid-column:2!important;grid-row:1!important}
  .deck-action-mount #rulesBtn{display:none!important}
  .deck-action-mount #endTurnBtn{grid-column:1/3!important;grid-row:2!important;font-size:11px!important;font-weight:900!important}

  /* 좌측 메뉴는 사진처럼 세로 공간을 꽉 사용 */
  .reference-left{padding:0!important;gap:0!important;overflow:hidden!important}
  .reference-brand{flex:0 0 86px!important}
  .left-advisor-frame{flex:0 0 auto!important}
  .left-log-frame{flex:1 1 auto!important;min-height:150px!important}
  .left-menu-dock{flex:0 0 auto!important}
  .left-bottom-actions{flex:0 0 62px!important;min-height:62px!important;padding:6px 10px!important}
}

@media (min-width:851px) and (max-width:1180px){
  .app{grid-template-columns:188px minmax(520px,1fr) 320px!important;min-width:1028px!important}
  .right-deck-body{grid-template-columns:44px minmax(66px,1fr) 104px!important;gap:4px!important;padding:4px!important}
  .deck-stack{width:42px!important;height:54px!important}
  .field-side-rail .hq-title{font-size:10px!important;min-width:140px!important}
  .field-side-rail .hq-stat-chip{font-size:8px!important}
  .field-side-rail .advisor-copy b{font-size:8px!important}
  .field-side-rail .advisor-copy .advisor-meta{font-size:7px!important}
}

/* ================================================================
   v21 — narrower battlefield width + non-fullscreen PC canvas
   - battlefield column reduced to about 70% of prior PC width
   - app no longer forced to fill the entire PC viewport
   ================================================================ */
@media (min-width:851px){
  html,body{
    width:100%;
    height:auto!important;
    min-height:100%;
    overflow:auto!important;
  }
  body{
    padding:18px 0!important;
  }
  .app{
    width:min(1015px, calc(100vw - 40px))!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:205px minmax(392px, 420px) minmax(330px, 360px)!important;
    gap:8px!important;
    padding:0!important;
    align-items:start!important;
  }
  .reference-left,.battle-panel,.reference-right{
    height:820px!important;
    min-height:820px!important;
  }
  .reference-left,.battle-panel,.reference-right{max-height:none!important}
}

@media (min-width:851px) and (max-width:1180px){
  body{padding:12px 0!important}
  .app{
    width:min(955px, calc(100vw - 24px))!important;
    grid-template-columns:188px minmax(360px, 390px) minmax(300px, 330px)!important;
    gap:6px!important;
  }
  .reference-left,.battle-panel,.reference-right{
    height:780px!important;
    min-height:780px!important;
  }
}

/* ================================================================
   v22 — requested control/card/HQ/advisor refinements
   ================================================================ */
@media (min-width:851px){
  .right-deck-section{flex-basis:70px!important;min-height:70px!important}
  .right-deck-body{display:grid!important;grid-template-columns:.9fr 1fr 1.15fr!important;grid-template-rows:1fr!important;gap:5px!important;padding:6px!important;align-items:stretch!important}
  .right-deck-body .deck-stack{display:none!important}
  .right-deck-body .deck-info{grid-column:1!important;grid-row:1!important;min-width:0!important;height:auto!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:1px!important;padding:4px!important;border:1px solid #6b5131!important;background:linear-gradient(180deg,#1c1711,#0d0b08)!important}
  .right-deck-body .deck-info b{font-size:19px!important;line-height:1!important}
  .right-deck-body .deck-info>span:not(.deck-help){font-size:10px!important}
  .right-deck-body .deck-action-mount{display:contents!important}
  .right-deck-body #shuffleBtn,.right-deck-body #endTurnBtn{min-width:0!important;width:100%!important;height:auto!important;min-height:0!important;padding:6px 4px!important;font-size:13px!important;font-weight:900!important}
  .right-deck-body #shuffleBtn{grid-column:2!important;grid-row:1!important}
  .right-deck-body #endTurnBtn{grid-column:3!important;grid-row:1!important}

  .ally-rail-group>.rail-resource-strip{display:none!important}
  .field-side-rail .hq-info-overlay{left:9px!important;right:9px!important;top:38px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex-wrap:nowrap!important;pointer-events:none!important}
  .field-side-rail .hq-stat-chip{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:12px!important;font-weight:900!important;color:#fff!important;text-shadow:0 2px 5px #000,0 0 8px #000!important}
  .field-side-rail .hq-stat-chip b{font-size:14px!important;color:#fff!important}
  .field-side-rail .hq-stat-chip.skill{display:none!important}
  .field-side-rail .hq-title{font-size:14px!important;text-shadow:0 2px 6px #000!important}
  .field-side-rail .hq-subtitle{font-size:10px!important;text-shadow:0 2px 5px #000!important}

  #allyHq #allyAdvisorConsole{display:none!important}
  #allyHq #allyAdvisorConsole.skill-menu-open{display:block!important;position:absolute!important;left:7px!important;right:7px!important;top:34px!important;bottom:7px!important;width:auto!important;height:auto!important;z-index:60!important;padding:7px!important;border:1px solid #9b7844!important;background:linear-gradient(180deg,#090d10f2,#07090bf5)!important;box-shadow:0 8px 24px #000d,inset 0 0 0 1px #000!important;overflow:auto!important}
  #allyAdvisorConsole .advisor-mirror,#allyAdvisorConsole .advisor-switch{display:none!important}
  #allyAdvisorConsole .compact-skills{display:block!important;padding:0!important}
  #allyAdvisorConsole .notice{display:block!important;margin:0 0 6px!important;padding:4px 6px!important;border:0!important;background:transparent!important;color:#f0e3ce!important;font-size:11px!important;line-height:1.3!important;text-align:center!important}
  #allyAdvisorConsole .compact-skill-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:0!important}
  #allyAdvisorConsole .compact-skill-grid .skill{min-height:48px!important;padding:5px!important;text-align:center!important}
  #allyAdvisorConsole .compact-skill-grid .skill b{font-size:11px!important;line-height:1.15!important}
  #allyAdvisorConsole .compact-skill-grid .skill span{font-size:9px!important;line-height:1.2!important}
  #allyAdvisorConsole #upgradeAdvisorBtn{grid-column:1/-1!important;min-height:30px!important;padding:4px 6px!important;font-size:10px!important;font-weight:900!important}

  #hand.hand .cname{font-size:11px!important;line-height:1.15!important}
  #hand.hand .card-type-line{font-size:9px!important;font-weight:800!important}
  #hand.hand .card-stat-cell{min-height:25px!important;padding:2px!important}
  #hand.hand .card-stat-cell.combat b{font-size:14px!important;white-space:nowrap!important}
  #hand.hand .card-type-badge{position:absolute;left:4px;bottom:4px;z-index:6;padding:2px 5px;border:1px solid #ffffff55;background:#05080dcc;color:#fff4de;font-size:9px;font-weight:900;line-height:1.15;text-shadow:0 1px 3px #000}
  .battlefield-layout .uname{font-size:14px!important}
  .battlefield-layout .stats{font-size:13px!important;font-weight:900!important}
  .battlefield-layout .typeicon{left:4px!important;bottom:4px!important;padding:2px 5px!important;font-size:10px!important;font-weight:900!important;color:#fff!important;border:1px solid #ffffff44!important;background:#05080dcc!important;text-shadow:0 1px 3px #000!important}
  .battlefield-layout .lane .label{font-size:13px!important}
  .field-side-rail .advisor-copy b{font-size:11px!important}
  .field-side-rail .advisor-copy .advisor-meta{font-size:9px!important}
  .field-side-rail .advisor-level{font-size:9px!important}
  .field-side-rail .advisor-empty{font-size:12px!important}
  .field-side-rail .advisor .mana{font-size:12px!important}
}
@media (max-width:850px){
  .card-type-badge{position:absolute;left:4px;bottom:4px;z-index:6;padding:2px 5px;background:#05080dcc;border:1px solid #ffffff55;font-size:9px;font-weight:900}
  #allyHq #allyAdvisorConsole{display:none!important}
  #allyHq #allyAdvisorConsole.skill-menu-open{display:block!important;position:absolute!important;inset:34px 6px 6px!important;z-index:60!important;padding:6px!important;background:#080b0ef2!important;border:1px solid #9b7844!important;overflow:auto!important}
  #allyAdvisorConsole .advisor-mirror,#allyAdvisorConsole .advisor-switch{display:none!important}
  #allyAdvisorConsole .compact-skill-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
  #allyAdvisorConsole #upgradeAdvisorBtn{grid-column:1/-1!important}
}

/* ================================================================
   v23 — modular build / formation / shuffle / turn highlight
   ================================================================ */
.formation-control{display:grid;gap:6px;padding:8px;border:1px solid #4d3b27;background:#0b0e10;border-radius:7px}
.formation-control span{font-size:11px;color:#d8c8ae;font-weight:800;text-align:center}
.formation-control select{width:100%;font-size:13px;font-weight:900;text-align:center;background:#17120d;border-color:#7b5b35;color:#f3e2c5}
.formation-note{font-size:9px;line-height:1.35;color:#9f917c;text-align:center}

/* 해당 진영의 행동 턴에는 3개 전투열의 외곽선을 밝게 표시 */
.lane.turn-active{border-color:#f3d58a!important;box-shadow:0 0 0 2px #f2cc6f55,0 0 22px #f4c45e70,inset 0 0 18px #f4c45e18!important;animation:activeLaneGlow 1.4s ease-in-out infinite alternate}
.lane.turn-active .label{color:#fff4ce!important;text-shadow:0 0 8px #f3c660!important;font-weight:950!important}
@keyframes activeLaneGlow{from{filter:brightness(1)}to{filter:brightness(1.18)}}
body.no-anim .lane.turn-active{animation:none}

/* 본진 자원 수치: 성 이미지 중앙에 크게 배치 */
.field-side-rail .hq-info-overlay{left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:calc(100% - 18px)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:15px!important;flex-wrap:nowrap!important;pointer-events:none!important;text-align:center!important}
.field-side-rail .hq-stat-chip{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;font-weight:950!important;color:#fff!important;text-shadow:0 2px 6px #000,0 0 10px #000!important;white-space:nowrap!important}
.field-side-rail .hq-stat-chip b{font-size:18px!important;line-height:1!important;color:#fff!important}
.field-side-rail .hq-stat-chip.skill{display:none!important}
.field-side-rail .hq.faction-fortress>.hptxt{display:none!important}

/* 카드명은 최상단 1회만 표시. 등급 / 필요 행동력은 더 크게. */
#hand.hand .cname{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:22px!important;padding:2px 6px!important;font-size:12px!important;font-weight:950!important;text-align:left!important}
#hand.hand .card-grade{left:5px!important;top:25px!important;padding:3px 7px!important;border-radius:5px!important;font-size:11px!important;line-height:1.1!important;box-shadow:0 2px 7px #000b!important}
#hand.hand .cost{right:5px!important;top:25px!important;width:auto!important;min-width:38px!important;height:26px!important;padding:0 6px!important;border-radius:7px!important;font-size:12px!important;font-weight:950!important;line-height:1!important}
#hand.hand .cost::before{content:'AP ';font-size:9px;font-weight:850;margin-right:2px;color:#fff0bd}

/* 셔플 버튼 */
#shuffleBtn{font-weight:950!important}

@media(max-width:850px){
  .field-side-rail .hq-info-overlay{gap:9px!important}
  .field-side-rail .hq-stat-chip{font-size:11px!important}
  .field-side-rail .hq-stat-chip b{font-size:14px!important}
  #hand.hand .card-grade{font-size:9px!important;padding:2px 5px!important}
  #hand.hand .cost{min-width:33px!important;height:23px!important;font-size:10px!important}
}


/* ================================================================
   v24 — 카드 상단 정보 통합 / 카드 이미지 폴더
   ================================================================ */
/* 카드 이름 영역 안에 이름 + 등급 + AP + 능력을 함께 표시 */
#hand.hand .card-title-area{
  min-height:36px!important;
  height:36px!important;
  padding:3px 4px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  grid-template-rows:15px 13px!important;
  column-gap:3px!important;
  row-gap:2px!important;
  align-items:center!important;
  justify-content:stretch!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#493324,#211812)!important;
  border-bottom:1px solid #8c683e!important;
  color:#f4ecdf!important;
  text-align:left!important;
}
#hand.hand .card-name-text{
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  font-size:10px!important;
  line-height:15px!important;
  font-weight:950!important;
}
#hand.hand .card-head-grade,
#hand.hand .card-head-cost{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:15px!important;
  padding:0 4px!important;
  border-radius:4px!important;
  border:1px solid #ffffff55!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
#hand.hand .card-head-cost{
  background:#16110b!important;
  border-color:#c59b55!important;
  color:#ffd96a!important;
}
#hand.hand .card-head-ability{
  grid-column:1 / -1!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  font-size:7px!important;
  line-height:13px!important;
  font-weight:700!important;
  color:#e1d4bf!important;
}
#hand.hand .card-head-ability b{
  margin-right:3px!important;
  color:#f4c875!important;
  font-size:7px!important;
  font-weight:950!important;
}
/* 기존 이미지 위 등급/AP 배지는 제거하고 상단 이름칸에서만 표시 */
#hand.hand .card-grade,
#hand.hand .cost{display:none!important}

/* 3 x 2 핸드 레이아웃에서 상단 정보칸을 확장한 만큼 이미지 영역을 재배분 */
#hand.hand .card{
  grid-template-rows:36px minmax(52px,1fr) auto!important;
}

@media (max-width:850px){
  #hand.hand .card-title-area{
    min-height:34px!important;
    height:34px!important;
    grid-template-rows:14px 12px!important;
    padding:3px!important;
  }
  #hand.hand .card-name-text{font-size:9px!important;line-height:14px!important}
  #hand.hand .card-head-grade,#hand.hand .card-head-cost{height:14px!important;font-size:6.5px!important;padding:0 3px!important}
  #hand.hand .card-head-ability,#hand.hand .card-head-ability b{font-size:6.5px!important;line-height:12px!important}
  #hand.hand .card{grid-template-rows:34px minmax(46px,1fr) auto!important}
}


/* ================================================================
   v25 — HQ behind row 1 / one advisor / adjustable art / AP feedback
   ================================================================ */
.card-art-img,.unit-art-img,.manager-preview img,.advisor-portrait img,.roster-art img,.base-unit-art img{
  object-fit:cover!important;
  object-position:var(--img-x,50%) var(--img-y,50%)!important;
  transform:scale(var(--img-scale,1));
  transform-origin:var(--img-x,50%) var(--img-y,50%);
  transition:transform .12s ease,object-position .12s ease;
}
.manager-preview,.manager-thumb,.cimg,.uimg,.advisor-portrait,.roster-art,.base-unit-art{overflow:hidden!important}
.image-adjust-panel{display:grid;gap:7px;padding:9px;border:1px solid #5f472d;background:#0a0d0f}
.image-adjust-title{font-size:11px;font-weight:950;color:#efcf95;text-align:center}
.image-adjust-panel label{display:grid;grid-template-columns:58px minmax(0,1fr) 42px;gap:7px;align-items:center;font-size:10px;color:#d5c7b2}
.image-adjust-panel input[type="range"]{width:100%;accent-color:#c69b55}
.image-adjust-panel output{text-align:right;color:#f2d69f;font-weight:900;font-size:10px}
.image-adjust-panel .btn{min-height:27px!important;font-size:10px!important}
.batch-image-preset-panel{display:grid;gap:10px;padding:10px;border:1px solid #5f472d;background:#0a0d0f}
.batch-image-preset-note{font-size:10px;line-height:1.45;color:#d6c8b3}
.batch-image-preset-note.compact{font-size:9px;color:#bba98c}
.batch-image-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.batch-image-preset-slot{display:grid;gap:8px;padding:8px;border:1px solid #6c4d2b;background:linear-gradient(180deg,#12100d,#0a0c0e)}
.batch-image-preset-head{display:flex;align-items:center;justify-content:space-between;gap:6px}
.batch-image-preset-head b{font-size:11px;color:#efcf95}
.batch-image-preset-head .btn,.batch-image-preset-slot>.btn{min-height:26px!important;font-size:10px!important}
.batch-image-preset-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.batch-image-preset-fields label{display:grid;gap:4px;font-size:10px;color:#d5c7b2}
.batch-image-preset-fields input{width:100%;min-width:0;background:#0b0d0f;border:1px solid #745734;color:#f4e1b8;padding:4px 6px}
.batch-image-type-select{display:flex;flex-wrap:wrap;gap:10px 14px;padding:4px 2px}
.batch-image-type-select label{display:flex;align-items:center;gap:5px;font-size:11px;color:#e0d3bf}
.batch-image-type-select input{accent-color:#c69b55}


/* Center battlefield now owns both HQs. Each HQ sits directly behind its row 1. */
@media (min-width:851px){
  .battlefield-layout>.board{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:104px repeat(3,minmax(0,1fr)) 24px repeat(3,minmax(0,1fr)) 104px!important;
    gap:3px!important;
  }
  .hq-battle-row{min-height:0!important;height:100%!important;padding:0 5px!important;display:flex!important;align-items:stretch!important;justify-content:center!important}
  .battle-hq{width:98%!important;height:100%!important;min-height:0!important;max-height:none!important;border-radius:0!important;margin:0!important;display:block!important;position:relative!important;overflow:hidden!important;background-position:center 43%!important}
  .battle-hq .hq-title{top:0!important;font-size:12px!important;min-width:190px!important;padding:3px 18px 4px!important}
  .battle-hq .hq-subtitle{top:25px!important;left:8px!important;font-size:7px!important}
  .battle-hq .hq-info-overlay{position:absolute!important;left:10px!important;right:auto!important;top:37px!important;transform:none!important;width:auto!important;display:flex!important;gap:10px!important;justify-content:flex-start!important;z-index:8!important}
  .battle-hq .hq-stat-chip{font-size:10px!important;text-shadow:0 2px 5px #000!important}
  .battle-hq .hq-stat-chip b{font-size:13px!important}
  .battle-hq .hq-advisor-summary{left:10px!important;right:132px!important;bottom:7px!important;min-height:28px!important;font-size:9px!important;padding:3px 6px!important}
  .battle-hq .hq-advisor-summary b{font-size:10px!important}
  .battle-hq .hq-advisor-slot{position:absolute!important;right:7px!important;top:29px!important;width:118px!important;height:67px!important;min-height:0!important;z-index:10!important;border-radius:4px!important;padding:3px!important;background:linear-gradient(180deg,#11191aee,#080c0dee)!important;border:1px solid #9b7844!important}
  .battle-hq .hq-advisor-slot.has-portrait{padding:3px!important}
  .battle-hq .hq-advisor-slot .advisor-card.rich{grid-template-columns:44px 1fr!important;gap:4px!important;height:100%!important}
  .battle-hq .hq-advisor-slot .advisor-portrait{width:44px!important;height:58px!important}
  .battle-hq .hq-advisor-slot .advisor-copy b{font-size:10px!important}
  .battle-hq .hq-advisor-slot .advisor-meta,.battle-hq .hq-advisor-slot .advisor-level{font-size:8px!important}
  .battle-hq .hq-advisor-slot .advisor-empty{font-size:10px!important;line-height:1.25!important}
  .battle-hq .hq-unit-slot{right:132px!important;bottom:7px!important;width:118px!important;height:30px!important;z-index:9!important}
  .battle-hq.emergency .hq-unit-slot,.battle-hq.has-base-unit .hq-unit-slot{display:flex!important}
  .battle-hq.emergency,.battle-hq.has-base-unit{height:100%!important;min-height:0!important}
  .battle-hq .enemy-turn-badge{z-index:12!important}

  /* Right HUD now prioritizes the 3x2 hand. Minimum card height is 154px -> 185px (+20%). */
  .reference-right{display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .right-deck-section{order:1!important;flex:0 0 74px!important;min-height:74px!important}
  .right-hand-section{order:2!important;flex:1 1 auto!important;min-height:0!important;overflow:auto!important;background:#080c0d!important}
  .right-hand-section>.ornate-title{display:flex!important;flex:0 0 30px!important}
  .right-hand-section .handhead{display:none!important}
  .right-hand-section .handbox{height:auto!important;min-height:0!important;overflow:visible!important;padding:5px!important}
  #hand.hand{height:auto!important;min-height:374px!important;grid-template-rows:repeat(2,minmax(185px,1fr))!important;grid-auto-rows:minmax(185px,1fr)!important;overflow:visible!important}
  #hand.hand .card{height:100%!important;min-height:185px!important;grid-template-rows:36px minmax(100px,1fr) auto!important}
  #hand.hand .cimg{min-height:100px!important}
  #hand.hand .card-stat-cell{min-height:27px!important}

  /* One-advisor skill menu, larger and easier to read. */
  #allyHq #allyAdvisorConsole.skill-menu-open{display:block!important;position:absolute!important;left:8px!important;right:132px!important;top:28px!important;bottom:6px!important;z-index:40!important;padding:7px!important;background:#070a0df5!important;border:1px solid #b58b4f!important;overflow:auto!important}
  #allyAdvisorConsole .notice{display:block!important;font-size:13px!important;line-height:1.35!important;padding:4px 5px!important;margin:0 0 5px!important;text-align:left!important;color:#f3e5cc!important}
  #allyAdvisorConsole .compact-skill-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  #allyAdvisorConsole .compact-skill-grid .skill{min-height:50px!important;padding:5px!important}
  #allyAdvisorConsole .compact-skill-grid .skill b{font-size:14px!important;line-height:1.15!important}
  #allyAdvisorConsole .compact-skill-grid .skill span{display:block!important;font-size:10px!important;line-height:1.2!important;margin-top:3px!important}
  #allyAdvisorConsole #upgradeAdvisorBtn{grid-column:1/-1!important;min-height:30px!important;font-size:11px!important}
  #allyAdvisorConsole .advisor-mirror{display:none!important}

  .reference-left,.battle-panel,.reference-right{height:860px!important;min-height:860px!important}
}

@media (max-width:850px){
  .hq-battle-row{padding:3px 0}
  .battle-hq{height:125px!important;min-height:125px!important;border-radius:0!important}
  .battle-hq .hq-advisor-slot{position:absolute;right:6px;top:34px;width:112px;height:76px;z-index:10;border-radius:4px}
  .battle-hq .hq-info-overlay{left:8px!important;right:124px!important;top:38px!important;transform:none!important;width:auto!important;justify-content:flex-start!important;gap:7px!important;flex-wrap:wrap!important}
  .battle-hq .hq-advisor-summary{left:8px!important;right:124px!important;bottom:7px!important;font-size:8px!important}
  #hand.hand{grid-auto-rows:185px!important}
  #hand.hand .card{min-height:185px!important;grid-template-rows:34px minmax(100px,1fr) auto!important}
  #allyAdvisorConsole .notice{font-size:12px!important}
  #allyAdvisorConsole .compact-skill-grid .skill b{font-size:13px!important}
  #allyAdvisorConsole .compact-skill-grid .skill span{font-size:10px!important}
}

.ap-spend-feedback{position:fixed;left:50%;top:18%;transform:translate(-50%,-10px) scale(.96);z-index:1000;display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid #d0a458;background:#090c0ff2;box-shadow:0 12px 35px #000d;color:#f2dfbe;opacity:0;pointer-events:none;transition:.18s ease}
.ap-spend-feedback.show{opacity:1;transform:translate(-50%,0) scale(1)}
.ap-spend-feedback b{font-size:22px;line-height:1;color:#ffd66e;text-shadow:0 0 12px #f2b94d66}
.ap-spend-feedback span{font-size:12px;font-weight:900}
.ap-value-flash{animation:apValueFlash .65s ease!important}
@keyframes apValueFlash{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.35);filter:brightness(1.8);text-shadow:0 0 12px #ffd15a}100%{transform:scale(1);filter:brightness(1)}}
body.no-anim .ap-value-flash{animation:none!important}

/* ================================================================
   v26 — taller PC game canvas / ally HQ clipping fix
   - extends the full game canvas vertically
   - gives the bottom allied HQ a slightly larger dedicated row
   - keeps body scrolling available on shorter displays
   ================================================================ */
@media (min-width:851px){
  body{padding-bottom:24px!important;}
  .app{min-height:1000px!important;}
  .reference-left,.battle-panel,.reference-right{
    height:1000px!important;
    min-height:1000px!important;
  }
  .boardwrap{
    min-height:0!important;
    overflow:hidden!important;
  }
  .battlefield-layout>.board{
    grid-template-rows:112px repeat(3,minmax(0,1fr)) 24px repeat(3,minmax(0,1fr)) 120px!important;
    padding-bottom:6px!important;
  }
  .enemy-hq-row{min-height:112px!important;}
  .ally-hq-row{min-height:120px!important;padding-bottom:4px!important;}
  .ally-hq-row .battle-hq{min-height:116px!important;}
}


/* ================================================================
   v27 — advisor hand skill panel / draggable art / HQ uploads / field card UI
   ================================================================ */
.card-function-tooltip{white-space:pre-line!important;max-width:330px!important;line-height:1.45!important}

/* Card manager button fills its menu box width. */
#leftMenuMount .top-options #cardManagerBtn{
  grid-column:1 / -1!important;
  width:100%!important;
  min-height:34px!important;
  font-size:12px!important;
  font-weight:900!important;
}

/* Card art position is manipulated directly on the preview. */
.manager-preview{position:relative;cursor:grab;touch-action:none;user-select:none}
.manager-preview.dragging{cursor:grabbing;outline:2px solid #e3b867;box-shadow:0 0 20px #d8a95055}
.manager-preview.drop-ready{outline:2px dashed #9ed1ff;background:#10202a}
.manager-preview::after{content:'이미지를 드래그해 위치 조절';position:absolute;left:7px;right:7px;bottom:7px;z-index:7;padding:4px 6px;background:#05080bbb;border:1px solid #ffffff33;color:#f3e5ce;font-size:9px;font-weight:800;text-align:center;pointer-events:none}
.drag-position-readout{display:flex;align-items:center;justify-content:space-between;min-height:25px;padding:4px 7px;border:1px solid #463925;background:#101315;color:#d5c7b2;font-size:10px}
.drag-position-readout b{color:#f2d69f}

.hq-image-manager{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:8px;border:1px solid #5f472d;background:#0a0d0f}
.hq-image-manager>.image-adjust-title{grid-column:1/-1}
.hq-image-setting{display:grid;gap:5px;min-width:0}
.hq-image-preview{height:66px;background-size:cover;background-position:center;border:1px solid #76552e;position:relative;overflow:hidden}
.hq-image-preview span{position:absolute;left:4px;bottom:4px;padding:2px 5px;background:#05080bbb;color:#fff;font-size:8px;font-weight:900}
.hq-image-preview.custom{box-shadow:inset 0 0 0 1px #e0b15b}
.hq-image-setting .manager-upload-label,.hq-image-setting .btn{font-size:9px!important;min-height:26px!important;padding:4px!important}

/* Advisor click opens the hand-space skill console: advisor card on left, skills on right. */
.advisor-hand-panel{display:none;height:100%;min-height:0;grid-template-columns:minmax(110px,.82fr) minmax(150px,1.18fr);gap:8px;padding:6px;background:linear-gradient(180deg,#0b1013,#070a0c)}
.right-hand-section.advisor-skill-mode .advisor-hand-panel{display:grid!important}
.right-hand-section.advisor-skill-mode #hand.hand{display:none!important}
.right-hand-section.advisor-skill-mode .ornate-title .title-flex>span:first-child{font-size:0}
.right-hand-section.advisor-skill-mode .ornate-title .title-flex>span:first-child::after{content:'책사 스킬';font-size:12px}
.advisor-hand-card,.advisor-hand-skills{min-width:0;min-height:0;border:1px solid #76552e;background:#0c1012;padding:6px;overflow:auto}
.advisor-hand-preview-card{height:100%;display:grid;grid-template-rows:28px minmax(150px,1fr) 25px auto;border:1px solid #9a7440;background:linear-gradient(180deg,#171b1d,#0c0e10);overflow:hidden}
.advisor-hand-name{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:950;color:#f4eadb;background:#211912;border-bottom:1px solid #76552e}
.advisor-hand-art{min-height:0;overflow:hidden;position:relative}.advisor-hand-art img,.advisor-hand-art .default-art{width:100%;height:100%;object-fit:cover}
.advisor-hand-meta{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#e6c98f;background:#11171a;border-top:1px solid #46515a}
.advisor-hand-copy{padding:6px;font-size:9px;line-height:1.35;color:#d7cbb7;background:#0b0e10}
.advisor-hand-empty{height:100%;display:grid;place-items:center;color:#bcae98;font-size:11px;text-align:center}
.advisor-hand-skills{display:flex;flex-direction:column;gap:7px}
.advisor-hand-status{padding:7px 8px;border:1px solid #624b2e;background:#17120d;color:#f2e4cd;font-size:12px;line-height:1.35}
.advisor-hand-skill-grid{display:grid;grid-template-columns:1fr;gap:7px}
.advisor-hand-skill-grid .skill{min-height:62px;padding:8px;text-align:left}
.advisor-hand-skill-grid .skill b{display:block;font-size:15px;line-height:1.15;color:#f3d7a3}
.advisor-hand-skill-grid .skill span{display:block;margin-top:4px;font-size:11px;line-height:1.3}
.advisor-hand-upgrade,.advisor-hand-close{min-height:34px!important;font-size:11px!important;font-weight:900!important}

/* Battlefield cards +20% taller, while preserving 3-line board layout. */
@media (min-width:851px){
  .battlefield-layout .lane{min-height:86px!important;padding-top:3px!important;padding-bottom:3px!important}
  .battlefield-layout .slots{min-height:82px!important;align-items:center!important}
  .battlefield-layout .slot{height:82px!important;min-height:82px!important}
  .battlefield-layout .unit{height:100%!important;grid-template-rows:21px minmax(0,1fr) 20px!important}
  .battlefield-layout .uname{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;font-size:13px!important;white-space:nowrap!important;overflow:hidden!important}
  .field-unit-name{overflow:hidden;text-overflow:ellipsis}
  .field-grade{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:16px;padding:0 4px;border:1px solid #ffffff44;background:#0a0d10cc;color:#ffe9b0;font-size:9px;font-weight:950;line-height:1}
  .battlefield-layout .uimg{min-height:0!important}
  .battlefield-layout .typeicon.icon-only{min-width:23px!important;min-height:23px!important;padding:1px!important;display:grid!important;place-items:center!important;font-size:16px!important;line-height:1!important;text-indent:0!important}
}

/* Hand: grade beside name, AP shown as a numbered circle on the image. */
#hand.hand .card-title-area{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:18px 12px!important;column-gap:4px!important;align-items:center!important}
#hand.hand .card-name-text{grid-column:1!important;grid-row:1!important;justify-self:center!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#hand.hand .card-head-grade{grid-column:2!important;grid-row:1!important;position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:18px!important;height:14px!important;padding:0 3px!important;font-size:8px!important}
#hand.hand .card-head-ability{grid-column:1/-1!important;grid-row:2!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#hand.hand .card-head-cost{display:none!important}
#hand.hand .card-image-cost{position:absolute;right:6px;top:6px;z-index:8;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#f9dd83,#b57918 68%,#5a3307);border:2px solid #ffe9a5;box-shadow:0 2px 7px #000c,inset 0 0 0 1px #6b3b0a;color:#171005;font-size:15px;font-weight:1000;line-height:1}
#hand.hand .card-type-badge.icon-only{min-width:25px;min-height:25px;display:grid;place-items:center;padding:2px!important;font-size:16px!important;line-height:1!important}
#hand.hand .card-type-line span:last-child{font-size:15px!important;line-height:1!important}

.base-unit-name{display:flex!important;align-items:center!important;gap:5px!important}
.base-unit .typeicon.icon-only{font-size:15px!important;min-width:22px!important;text-align:center!important}

@media (max-width:850px){
  .advisor-hand-panel{grid-template-columns:42% 58%;gap:5px;padding:4px}
  .advisor-hand-preview-card{grid-template-rows:24px minmax(110px,1fr) 22px auto}
  .advisor-hand-name{font-size:11px}.advisor-hand-copy{font-size:8px}
  .advisor-hand-status{font-size:10px;padding:5px}.advisor-hand-skill-grid .skill{min-height:48px;padding:5px}
  .advisor-hand-skill-grid .skill b{font-size:12px}.advisor-hand-skill-grid .skill span{font-size:9px}
  .hq-image-manager{grid-template-columns:1fr}
  .hq-image-manager>.image-adjust-title{grid-column:1}
}


/* ================================================================
   v28 — advisor popover beside HQ card; hand stays visible
   ================================================================ */
/* v27 hand replacement UI is retired. */
.advisor-hand-panel{display:none!important}
.right-hand-section.advisor-skill-mode #hand.hand{display:grid!important}
.right-hand-section.advisor-skill-mode .ornate-title .title-flex>span:first-child{font-size:inherit!important}
.right-hand-section.advisor-skill-mode .ornate-title .title-flex>span:first-child::after{content:none!important}

/* Keep the hand untouched and show the advisor controls as a compact floating panel
   anchored immediately to the right of the advisor card. JS supplies viewport coords. */
#allyHq #allyAdvisorConsole{display:none!important}
#allyHq #allyAdvisorConsole.skill-menu-open{
  display:block!important;
  position:fixed!important;
  left:var(--advisor-pop-left, 50%)!important;
  top:var(--advisor-pop-top, 50%)!important;
  right:auto!important;
  bottom:auto!important;
  width:272px!important;
  height:auto!important;
  max-height:min(340px,calc(100vh - 16px))!important;
  padding:8px!important;
  z-index:1200!important;
  overflow:auto!important;
  border:1px solid #b58b4f!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#0b0f12f7,#06090bf7)!important;
  box-shadow:0 12px 32px #000e,inset 0 0 0 1px #ffffff0d!important;
}
#allyHq #allyAdvisorConsole.skill-menu-open::before{
  content:'';
  position:absolute;
  left:-7px;
  top:24px;
  width:12px;
  height:12px;
  transform:rotate(45deg);
  background:#0a0e11;
  border-left:1px solid #b58b4f;
  border-bottom:1px solid #b58b4f;
}
#allyHq #allyAdvisorConsole.skill-menu-open .compact-skills{display:block!important;padding:0!important}
#allyHq #allyAdvisorConsole.skill-menu-open .notice{
  display:block!important;margin:0 0 7px!important;padding:6px 7px!important;
  font-size:12px!important;line-height:1.35!important;text-align:left!important;
  color:#f2e4ce!important;background:#16110ed9!important;border:1px solid #604a2e!important;
}
#allyHq #allyAdvisorConsole.skill-menu-open .compact-skill-grid{
  display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0!important;
}
#allyHq #allyAdvisorConsole.skill-menu-open .compact-skill-grid .skill{
  min-height:54px!important;height:auto!important;padding:7px 8px!important;text-align:left!important;
}
#allyHq #allyAdvisorConsole.skill-menu-open .compact-skill-grid .skill b{font-size:14px!important;line-height:1.15!important}
#allyHq #allyAdvisorConsole.skill-menu-open .compact-skill-grid .skill span{display:block!important;margin-top:3px!important;font-size:10px!important;line-height:1.25!important}
#allyHq #allyAdvisorConsole.skill-menu-open #upgradeAdvisorBtn{
  grid-column:1!important;min-height:34px!important;height:auto!important;padding:6px 8px!important;font-size:11px!important;
}
#allyHq #allyAdvisorConsole.skill-menu-open .advisor-mirror{display:none!important}
#allyHq.advisor-menu-open{overflow:visible!important}

@media (max-width:850px){
  #allyHq #allyAdvisorConsole.skill-menu-open{width:min(252px,calc(100vw - 16px))!important;max-height:300px!important}
}


/* ================================================================
   v29 — strategist popover layering / fixed hand size / taller lanes
   ================================================================ */

/* The strategist console is portaled to <body> by JS. It therefore cannot be
   clipped by the HQ, battlefield, or right-hand panel stacking contexts. */
#allyAdvisorConsole{display:none!important}
#allyAdvisorConsole.skill-menu-open{
  display:block!important;
  position:fixed!important;
  left:var(--advisor-pop-left,50%)!important;
  top:var(--advisor-pop-top,50%)!important;
  right:auto!important;
  bottom:auto!important;
  width:272px!important;
  height:auto!important;
  max-height:min(360px,calc(100vh - 16px))!important;
  padding:8px!important;
  z-index:10000!important;
  overflow:auto!important;
  border:1px solid #b58b4f!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#0b0f12fc,#06090bfc)!important;
  box-shadow:0 14px 38px #000f,inset 0 0 0 1px #ffffff10!important;
}
#allyAdvisorConsole.skill-menu-open::before{
  content:'';position:absolute;left:-7px;top:24px;width:12px;height:12px;
  transform:rotate(45deg);background:#0a0e11;border-left:1px solid #b58b4f;border-bottom:1px solid #b58b4f;
}
#allyAdvisorConsole.skill-menu-open .compact-skills{display:block!important;padding:0!important}
#allyAdvisorConsole.skill-menu-open .notice{display:block!important;margin:0 0 7px!important;padding:6px 7px!important;font-size:12px!important;line-height:1.35!important;text-align:left!important;color:#f2e4ce!important;background:#16110ed9!important;border:1px solid #604a2e!important}
#allyAdvisorConsole.skill-menu-open .compact-skill-grid{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0!important}
#allyAdvisorConsole.skill-menu-open .compact-skill-grid .skill{min-height:54px!important;height:auto!important;padding:7px 8px!important;text-align:left!important}
#allyAdvisorConsole.skill-menu-open .compact-skill-grid .skill b{font-size:14px!important;line-height:1.15!important}
#allyAdvisorConsole.skill-menu-open .compact-skill-grid .skill span{display:block!important;margin-top:3px!important;font-size:10px!important;line-height:1.25!important}
#allyAdvisorConsole.skill-menu-open #upgradeAdvisorBtn{grid-column:1!important;min-height:34px!important;height:auto!important;padding:6px 8px!important;font-size:11px!important}
#allyAdvisorConsole.skill-menu-open .advisor-mirror{display:none!important}

/* Remove the static strategist-skill explanation area from the allied HQ. */
#allyHq .hq-advisor-summary{display:none!important}

/* Every hand card uses an identical, non-stretching track. Shuffle/order changes
   can no longer alter individual card height. */
#hand.hand{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,185px)!important;
  grid-auto-rows:185px!important;
  align-items:stretch!important;
  align-content:start!important;
}
#hand.hand .card{
  width:100%!important;
  height:185px!important;
  min-height:185px!important;
  max-height:185px!important;
  box-sizing:border-box!important;
  grid-template-rows:36px 100px 49px!important;
}
#hand.hand .cimg{height:100px!important;min-height:100px!important;max-height:100px!important}
#hand.hand .cstats{min-height:49px!important;max-height:49px!important;overflow:hidden!important}
#hand.hand .ctext{display:none!important}

/* Battle rows are roughly 20% taller than v28's 86px target. Cards stretch to
   the full usable row height instead of floating with unused vertical space. */
@media (min-width:851px){
  .battlefield-layout>.board{
    grid-template-rows:112px repeat(3,minmax(103px,1fr)) 24px repeat(3,minmax(103px,1fr)) 120px!important;
    gap:3px!important;
  }
  .battlefield-layout .lane{
    min-height:103px!important;
    height:100%!important;
    padding:2px 5px!important;
    box-sizing:border-box!important;
  }
  .battlefield-layout .slots{
    height:100%!important;
    min-height:0!important;
    align-items:stretch!important;
  }
  .battlefield-layout .slot{
    height:100%!important;
    min-height:98px!important;
    max-height:none!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
  }
  .battlefield-layout .unit{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    align-self:stretch!important;
    grid-template-rows:22px minmax(0,1fr) 21px!important;
  }
  .battlefield-layout .uimg{height:100%!important;min-height:0!important}
}

@media (max-width:850px){
  #allyAdvisorConsole.skill-menu-open{width:min(252px,calc(100vw - 16px))!important;max-height:320px!important}
  #hand.hand{grid-template-rows:repeat(2,170px)!important;grid-auto-rows:170px!important}
  #hand.hand .card{height:170px!important;min-height:170px!important;max-height:170px!important;grid-template-rows:34px 92px 44px!important}
  #hand.hand .cimg{height:92px!important;min-height:92px!important;max-height:92px!important}
  #hand.hand .cstats{min-height:44px!important;max-height:44px!important}
}


/* ================================================================
   v30 — hand alignment / HQ icon HUD / freer image drag / start formation modal
   ================================================================ */
.ally-side-align-spacer,.ally-hand-align-spacer{flex:0 0 0;height:0;transition:flex-basis .18s ease,height .18s ease}
.reference-right{position:relative!important}
.right-hand-section{position:relative;z-index:1}

.formation-modal-box{max-width:360px;width:min(92vw,360px);padding:18px 16px 16px}
.formation-modal-body{display:grid;gap:12px;margin-top:14px}
.formation-modal-field{display:grid;gap:6px;font-size:12px;color:#d6c8af}
.formation-modal-field select{width:100%;padding:10px 12px;font-size:15px}
.formation-modal-note{font-size:11px;line-height:1.5;color:#aeb7c6;background:#0a1322;border:1px solid #2f4262;border-radius:10px;padding:10px}

.hq-info-overlay{gap:8px!important}
.hq-stat-chip{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:5px 10px!important;border-radius:999px!important}
.hq-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:999px;background:#00000044;font-size:12px;line-height:1;box-shadow:inset 0 0 0 1px #ffffff14}
.hq-stat-chip b,.hq-stat-chip .hq-stat-value{font-size:18px!important;line-height:1!important;font-weight:950!important;letter-spacing:.02em}
.battle-hq .hq-stat-chip{font-size:0!important}
.battle-hq .hq-stat-chip.skill .hq-stat-value{font-size:14px!important}
.battle-hq .hq-stat-chip.skill .hq-stat-icon{font-size:11px}

.battlefield-layout>.board{
  grid-template-rows:minmax(128px,1.08fr) repeat(3,minmax(112px,1fr)) 24px repeat(3,minmax(112px,1fr)) minmax(136px,1.12fr)!important;
  gap:6px!important;
}
.battlefield-layout .lane{padding:4px 6px!important}
.battlefield-layout .slots{height:100%!important;min-height:0!important;align-items:stretch!important}
.battlefield-layout .slot{
  width:100%!important;height:100%!important;min-height:92px!important;max-height:none!important;
}
.battlefield-layout .unit{height:100%!important;min-height:0!important;grid-template-rows:22px 1fr 22px!important}
.battlefield-layout .uimg{height:100%!important;min-height:0!important;font-size:26px!important}
.battlefield-layout .uname{font-size:12px!important}
.battlefield-layout .stats{font-size:11px!important}
.battlefield-layout .typeicon{font-size:11px!important}

@media (max-width:850px){
  .ally-hand-align-spacer{display:none!important}
  .hq-stat-chip b,.hq-stat-chip .hq-stat-value{font-size:15px!important}
}


/* ================================================================
   v32 — ally-side deck/hand alignment, large art, rarity frames, +30% lanes
   ================================================================ */
:root{
  --grade-s:#f6cc58;
  --grade-r:#dc72d5;
  --grade-u:#65cdef;
  --grade-c:#a9b2bd;
}

/* 위/촉/오 외 세력 및 공통 카드는 기타로 통합 */
.card.other,.unit.other,.base-unit.other{background:linear-gradient(180deg,#48433d,#211e1a)!important}
.default-art.card.other,.default-art.unit.other{background:radial-gradient(circle at 25% 20%,#ffffff35 0,#ffffff10 18%,transparent 20%),linear-gradient(180deg,#6a6259 0,#2b2722 100%)!important}

/* 카드 등급이 국가색보다 우선하도록 테두리를 등급별로 고정 */
.card.grade-border-S,.unit.grade-border-S,.base-unit.grade-border-S{border-color:var(--grade-s)!important;box-shadow:0 0 0 1px #5b4618,0 0 12px #f6cc5840!important}
.card.grade-border-R,.unit.grade-border-R,.base-unit.grade-border-R{border-color:var(--grade-r)!important;box-shadow:0 0 0 1px #51234c,0 0 10px #dc72d538!important}
.card.grade-border-U,.unit.grade-border-U,.base-unit.grade-border-U{border-color:var(--grade-u)!important;box-shadow:0 0 0 1px #1d5264,0 0 9px #65cdef32!important}
.card.grade-border-C,.unit.grade-border-C,.base-unit.grade-border-C{border-color:var(--grade-c)!important;box-shadow:0 0 0 1px #3c444e!important}
#hand.hand .card.selected{outline:2px solid #fff1a8!important;box-shadow:0 0 0 2px #604d1d,0 0 18px #ffe47b66!important}

/* 핸드: 이름 아래 능력문구 및 이미지 아래 국가명/아이콘 전용 줄 제거 */
#hand.hand .card-head-ability,#hand.hand .card-type-line{display:none!important}
#hand.hand .cname.card-title-area{height:auto!important;min-height:27px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:3px 5px!important}
#hand.hand .card-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px!important;font-weight:900!important}
#hand.hand .card-head-grade{position:static!important;flex:0 0 auto!important;font-size:8px!important;padding:1px 4px!important}
#hand.hand .cstats{display:flex!important;align-items:center!important;justify-content:center!important;padding:3px!important}
#hand.hand .card-stat-grid{width:100%!important}

/* 이미지 영역을 확대: 타입 아이콘은 이미지 위 오버레이로 유지 */
#hand.hand{grid-template-rows:repeat(2,198px)!important;grid-auto-rows:198px!important}
#hand.hand .card{
  height:198px!important;min-height:198px!important;max-height:198px!important;
  grid-template-rows:28px 128px 42px!important;
}
#hand.hand .cimg{height:128px!important;min-height:128px!important;max-height:128px!important}
#hand.hand .cimg img,#hand.hand .cimg .default-art{width:100%!important;height:100%!important}
#hand.hand .card-stat-cell{min-height:32px!important;padding:2px 1px!important}
#hand.hand .card-stat-cell b{font-size:13px!important}
#hand.hand .card.item .card-stat-cell b,#hand.hand .card.tactic .card-stat-cell b,#hand.hand .card.advisor-card-hand .card-stat-cell b{font-size:9px!important}
#hand.hand .card-stat-cell span{font-size:6px!important}

/* 아군 전투열 오른쪽에 덱/핸드가 붙도록 우측 패널의 상단 블록을 고정 크기로 사용 */
@media (min-width:851px){
  .reference-right{display:flex!important;flex-direction:column!important;height:1120px!important;min-height:1120px!important}
  .right-deck-section{flex:0 0 82px!important;min-height:82px!important}
  .right-hand-section{flex:0 0 446px!important;height:446px!important;min-height:446px!important;max-height:446px!important}
  .right-hand-section .handbox{height:100%!important;min-height:0!important;padding:4px!important}
  #hand.hand{height:100%!important;overflow:hidden!important;align-content:start!important;gap:5px!important}
  .ally-side-align-spacer{flex-shrink:0!important}

  /* v30 기준 전투열 높이에서 약 30% 확대 */
  body{padding-top:12px!important;padding-bottom:12px!important}
  .app{height:auto!important;min-height:0!important;align-items:start!important}
  .reference-left,.battle-panel,.reference-right{height:1120px!important;min-height:1120px!important}
  .boardwrap{height:1120px!important;overflow:auto!important}
  .battlefield-layout>.board{
    height:auto!important;
    grid-template-rows:minmax(136px,auto) repeat(3,146px) 26px repeat(3,146px) minmax(146px,auto)!important;
    gap:6px!important;
  }
  .battlefield-layout .lane{height:146px!important;min-height:146px!important;padding:4px 6px!important}
  .battlefield-layout .slot{height:100%!important;min-height:136px!important}
  .battlefield-layout .unit{grid-template-rows:24px minmax(0,1fr) 23px!important}
  .battlefield-layout .uimg{min-height:0!important;height:100%!important}
}

/* 카드 관리자: 프로젝트 폴더와 직접 연동 */
.manager-folder-sync{display:grid;grid-template-columns:1fr;gap:5px;padding:7px;border:1px solid #3b4d61;background:#081018}
.manager-folder-sync .btn{width:100%;min-height:30px!important;font-size:10px!important}
#managerProjectFolderStatus{display:block;font-size:9px;line-height:1.35;color:#9fb0c6;text-align:center;word-break:break-all}
#managerProjectFolderStatus.connected{color:#91d8a0}

@media (max-width:850px){
  #hand.hand{grid-template-rows:repeat(2,180px)!important;grid-auto-rows:180px!important}
  #hand.hand .card{height:180px!important;min-height:180px!important;max-height:180px!important;grid-template-rows:27px 112px 41px!important}
  #hand.hand .cimg{height:112px!important;min-height:112px!important;max-height:112px!important}
}


/* ================================================================
   v33 — unified battlefield + deck panel / no battle-deck scroll split
   ================================================================ */
@media (min-width:851px){
  html,body{height:100%!important;overflow:hidden!important;}
  body{padding:0!important;}

  /* 전투필드와 우측 덱/핸드 패널을 한 화면 안에 고정 */
  .app{
    height:100vh!important;
    min-height:0!important;
    padding:6px!important;
    gap:0!important;
    grid-template-columns:220px minmax(0,1fr) 344px!important;
    align-items:stretch!important;
  }
  .reference-left,.battle-panel,.reference-right{
    height:calc(100vh - 12px)!important;
    min-height:0!important;
    max-height:calc(100vh - 12px)!important;
  }

  /* 분할된 느낌을 줄이기 위해 중앙+우측 패널을 시각적으로 연결 */
  .battle-panel{
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
    border-right:none!important;
    overflow:hidden!important;
  }
  .reference-right{
    border-top-left-radius:0!important;
    border-bottom-left-radius:0!important;
    border-left:1px solid #5c3a19!important;
    overflow:hidden!important;
    background:#080c0d!important;
  }

  /* 상하 분리 스크롤 제거 */
  .boardwrap{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:0!important;
  }
  .battlefield-layout{height:100%!important;min-height:0!important;}
  .battlefield-layout>.board{
    height:100%!important;
    min-height:0!important;
    grid-template-rows:minmax(114px,1.04fr) repeat(3,minmax(98px,1fr)) 24px repeat(3,minmax(98px,1fr)) minmax(120px,1.06fr)!important;
    gap:5px!important;
  }
  .battlefield-layout .lane{height:auto!important;min-height:0!important;padding:3px 5px!important;}
  .battlefield-layout .slots{height:100%!important;min-height:0!important;gap:5px!important;align-items:stretch!important;}
  .battlefield-layout .slot{height:100%!important;min-height:90px!important;max-height:none!important;}
  .battlefield-layout .unit{height:100%!important;grid-template-rows:22px minmax(0,1fr) 22px!important;}
  .battlefield-layout .uimg{height:100%!important;min-height:0!important;}
  .battlefield-layout .uname{font-size:12px!important;padding:3px 5px!important;}
  .battlefield-layout .stats{font-size:11px!important;padding:3px!important;}
  .battlefield-layout .lane .label{font-size:12px!important;}
  .battle-hq,.hq.faction-fortress{height:100%!important;min-height:0!important;}

  /* 우측 덱/핸드도 단일 고정 레이아웃으로 배치 */
  .ally-side-align-spacer,.ally-hand-align-spacer{flex:0 0 0!important;height:0!important;}
  .right-deck-section{flex:0 0 92px!important;min-height:92px!important;max-height:92px!important;}
  .right-deck-body{gap:8px!important;padding:6px 8px!important;}
  .right-hand-section{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .right-hand-section .handbox{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    padding:5px!important;
    overflow:hidden!important;
  }
  .right-hand-section .handhead{display:flex!important;min-height:24px!important;margin-bottom:4px!important;font-size:10px!important;}
  .right-hand-section .handhead .small{font-size:8px!important;line-height:1.3!important;}
  #hand.hand{
    height:100%!important;
    min-height:0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(0,1fr)!important;
    gap:5px!important;
    overflow:hidden!important;
    padding:0!important;
  }
  #hand.hand .card{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    grid-template-rows:24px minmax(86px,1fr) 38px!important;
  }
  #hand.hand .cimg{height:auto!important;min-height:0!important;max-height:none!important;}
  #hand.hand .card-name-text{font-size:10px!important;}
  #hand.hand .card-stat-cell{min-height:28px!important;padding:1px!important;}
  #hand.hand .card-stat-cell b{font-size:12px!important;}

  /* 하단 HUD는 유지하되 높이를 줄여 전체 화면에 맞춤 */
  .bottom-hud{flex:0 0 auto!important;padding:4px 6px!important;}
  .hud-status{gap:6px!important;}
  .hud-block,.hud-hp,.hud-actions{min-height:0!important;}
}


/* ================================================================
   v34 — floating right hand panel, +20% battle lane height, no formation popup
   ================================================================ */
@media (min-width:851px){
  /* 전체 화면 분할 느낌을 줄이고, 우측은 카드 박스만 노출 */
  .app{
    grid-template-columns:220px minmax(0,1fr) 310px!important;
    gap:8px!important;
    height:100vh!important;
    padding:6px!important;
  }
  .battle-panel{
    border-top-right-radius:16px!important;
    border-bottom-right-radius:16px!important;
    border-right:1px solid var(--line)!important;
    overflow:hidden!important;
  }
  .reference-right{
    background:transparent!important;
    border:none!important;
    box-shadow:none!important;
    overflow:visible!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .right-action-strip{display:none!important;}
  .ally-side-align-spacer{flex:0 0 clamp(248px,31vh,292px)!important;height:auto!important;}
  .ally-hand-align-spacer{display:none!important;}
  .right-deck-section, .right-hand-section{
    border:1px solid #6c4520!important;
    box-shadow:0 8px 24px #0008,inset 0 0 0 1px #000!important;
    background:#080c0d!important;
  }
  .right-deck-section{
    flex:0 0 88px!important;
    min-height:88px!important;
    max-height:88px!important;
    border-bottom:none!important;
  }
  .right-hand-section{
    flex:0 0 398px!important;
    min-height:398px!important;
    max-height:398px!important;
    overflow:hidden!important;
  }
  .right-hand-section>.ornate-title{flex:0 0 30px!important;display:flex!important;}
  .right-hand-section .handbox{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:4px 5px 5px!important;
    overflow:hidden!important;
    background:#080c0d!important;
  }
  .right-hand-section .handhead{display:none!important;}
  #hand.hand{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(0,1fr)!important;
    gap:4px!important;
    overflow:hidden!important;
    padding:0!important;
  }
  #hand.hand .card{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    grid-template-rows:22px minmax(78px,1fr) 34px!important;
    border-width:1px!important;
  }
  #hand.hand .cimg{height:auto!important;min-height:0!important;max-height:none!important;}
  #hand.hand .card-name-text{font-size:10px!important;}
  #hand.hand .card-stat-cell{min-height:26px!important;padding:1px!important;}
  #hand.hand .card-stat-cell b{font-size:11px!important;}
  #hand.hand .card-stat-cell span{font-size:6px!important;}

  /* 전투열 높이 20% 확대 */
  .boardwrap{overflow:hidden!important;padding:0!important;}
  .battlefield-layout{height:100%!important;min-height:0!important;}
  .battlefield-layout>.board{
    height:100%!important;
    min-height:0!important;
    grid-template-rows:minmax(128px,1.05fr) repeat(3,minmax(118px,1fr)) 24px repeat(3,minmax(118px,1fr)) minmax(132px,1.08fr)!important;
    gap:5px!important;
  }
  .battlefield-layout .lane{min-height:118px!important;height:auto!important;padding:4px 6px!important;}
  .battlefield-layout .slots{min-height:0!important;height:100%!important;gap:6px!important;align-items:stretch!important;}
  .battlefield-layout .slot{min-height:108px!important;height:100%!important;max-height:none!important;}
  .battlefield-layout .unit{height:100%!important;grid-template-rows:23px minmax(0,1fr) 23px!important;}
  .battlefield-layout .uimg{height:100%!important;min-height:0!important;}
  .battlefield-layout .uname{font-size:12px!important;padding:3px 5px!important;}
  .battlefield-layout .stats{font-size:11px!important;padding:3px!important;}
  .battlefield-layout .lane .label{font-size:12px!important;}

  /* 좌측 진형 설정 패널은 유지하되 팝업 관련 안내는 제거 */
  .formation-modal-box,.formation-modal-body,.formation-modal-field,.formation-modal-note{display:none!important;}
}


/* ================================================================
   v35 — hidden-scroll battlefield, formation panel over deck, expanded item pool
   ================================================================ */
@media (min-width:851px){
  /* 전장 스크롤은 가능하지만 스크롤바는 보이지 않게 */
  .boardwrap{
    overflow:auto!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }
  .boardwrap::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;background:transparent!important;}

  /* 우측 패널에 전투진형 설정창을 덱 위로 이동 */
  .right-formation-mount{
    display:block!important;
    flex:0 0 auto!important;
    margin-bottom:6px!important;
  }
  .reference-right .compact-settings-holder{
    display:block!important;
    margin:0!important;
    border:1px solid #6c4520!important;
    border-radius:0!important;
    background:#080c0d!important;
    box-shadow:0 8px 24px #0008,inset 0 0 0 1px #000!important;
    padding:8px!important;
  }
  .reference-right .compact-settings-holder .ornate-title{margin-bottom:6px!important;}
  .reference-right .compact-settings-holder .formation-control{display:grid!important;gap:6px!important;font-size:11px!important;}
  .reference-right .compact-settings-holder select{width:100%!important;min-height:30px!important;}
  .reference-right .compact-settings-holder .formation-note{font-size:10px!important;line-height:1.35!important;}

  /* 본진이 안 보일 때 내부 스크롤로 상하 이동 가능하도록 전장 총높이 확보 */
  .battlefield-layout>.board{
    min-height:980px!important;
  }
}

@media (max-width:850px){
  .boardwrap{
    overflow:auto!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  .boardwrap::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}
}


/* ================================================================
   v36 — card grade/cost on image corner, right deck HQ status row
   ================================================================ */
/* 우측 패널 본진 상태 바 */
.right-hq-summary{flex:0 0 auto;display:block;background:#080c0d;border:1px solid #6c4520;box-shadow:0 8px 24px #0008,inset 0 0 0 1px #000;margin-bottom:6px}
.right-hq-line{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px}
.right-hq-stat{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 4px;border:1px solid #6b5131;background:linear-gradient(180deg,#1c1711,#0d0b08);color:#eadfc8;text-align:center}
.right-hq-stat span{font-size:10px;color:#c8b89d;font-weight:700;letter-spacing:.02em}
.right-hq-stat b{font-size:16px;color:#fff3d8;line-height:1;font-weight:950}
.right-hq-stat.hp b{color:#ffe4df}.right-hq-stat.mp b{color:#d8eeff}.right-hq-stat.ap b{color:#fff0b3}

/* 핸드 카드: 등급/소환에너지를 이미지 우측 하단으로 이동 */
#hand.hand .cname.card-title-area{justify-content:flex-start!important;padding-right:6px!important}
#hand.hand .card-corner-meta{position:absolute;right:5px;bottom:5px;z-index:9;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
#hand.hand .card-image-grade{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:16px;padding:0 5px;border-radius:999px;border:1px solid #f3d48e;background:linear-gradient(180deg,#3b2a18,#171008);box-shadow:0 2px 6px #000c;color:#fff6e3;font-size:9px;font-weight:1000;line-height:1}
#hand.hand .card-image-grade.grade-S{border-color:var(--grade-s);color:#fff4c8;background:linear-gradient(180deg,#574316,#241906)}
#hand.hand .card-image-grade.grade-R{border-color:var(--grade-r);color:#ffe6fe;background:linear-gradient(180deg,#4a2147,#1e0f1c)}
#hand.hand .card-image-grade.grade-U{border-color:var(--grade-u);color:#e3fbff;background:linear-gradient(180deg,#153849,#091b23)}
#hand.hand .card-image-grade.grade-C{border-color:var(--grade-c);color:#eef2f6;background:linear-gradient(180deg,#29313a,#11161b)}
#hand.hand .card-image-cost{position:static!important;right:auto!important;top:auto!important;z-index:auto!important;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#f9dd83,#b57918 68%,#5a3307);border:2px solid #ffe9a5;box-shadow:0 2px 7px #000c,inset 0 0 0 1px #6b3b0a;color:#171005;font-size:13px;font-weight:1000;line-height:1}
#hand.hand .card-head-grade{display:none!important}

/* 우측 덱 정보: 보조 문구 최소화 */
.deck-info{justify-content:center!important}
.deck-info .deck-help{font-size:8px!important;line-height:1.2!important}

@media (min-width:851px){
  .right-deck-section{flex:0 0 96px!important;min-height:96px!important;max-height:96px!important}
  .right-deck-body{padding:5px 8px!important}
  .right-hq-stat b{font-size:15px!important}
}


/* ================================================================
   v37 — AP feedback above ally backline, full-height advisor slot, HQ overlay removal
   ================================================================ */
/* 행동력 차감 효과 위치: 아군 3열 상단 중앙 */
.ap-spend-feedback{
  position:fixed!important;
  left:50%;
  top:18%;
  transform:translate(-50%,-10px) scale(.96);
  z-index:1000;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border:1px solid #d0a458;
  background:#090c0ff2;
  box-shadow:0 12px 35px #000d;
  color:#f2dfbe;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
}
.ap-spend-feedback.show{opacity:1;transform:translate(-50%,0) scale(1)}

/* 본진 내부 수치 표시는 삭제 */
.battle-hq .hq-info-overlay,
.battle-hq .hptxt{display:none!important;}

/* 본진 책사 박스를 여백 없이 가득 차게 */
.battle-hq .hq-advisor-slot{
  position:absolute!important;
  right:7px!important;
  top:29px!important;
  bottom:7px!important;
  height:auto!important;
  width:118px!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  background:linear-gradient(180deg,#11191aee,#080c0dee)!important;
}
.battle-hq .hq-advisor-slot .advisor-empty,
.battle-hq .hq-advisor-slot .advisor-card.rich{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border-radius:0!important;
}
.battle-hq .hq-advisor-slot .advisor-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:4px!important;
  line-height:1.2!important;
}
.battle-hq .hq-advisor-slot .advisor-card.rich{grid-template-columns:46px 1fr!important;gap:4px!important;padding:3px!important;}
.battle-hq .hq-advisor-slot .advisor-portrait{width:46px!important;height:100%!important;max-height:none!important;border-radius:0!important;}
.battle-hq .hq-advisor-slot .advisor-copy{justify-content:center!important;}

/* 우측 아군 덱 영역: 덱 수량/셔플/턴 종료 버튼 높이를 상태바와 통일 */
.right-hq-line{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;padding:6px!important;}
.right-hq-stat{min-height:42px!important;height:42px!important;}
.right-deck-section{flex:0 0 96px!important;min-height:96px!important;max-height:96px!important;}
.right-deck-body{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding:6px!important;align-items:stretch!important;}
.right-deck-body .deck-stack{display:none!important;}
.right-deck-body .deck-info,
.right-deck-body #shuffleBtn,
.right-deck-body #endTurnBtn{
  min-width:0!important;
  min-height:42px!important;
  height:42px!important;
  margin:0!important;
  border:1px solid #6b5131!important;
  background:linear-gradient(180deg,#1c1711,#0d0b08)!important;
  box-shadow:none!important;
}
.right-deck-body .deck-info{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  padding:4px!important;
  text-align:center!important;
}
.right-deck-body .deck-info b{font-size:18px!important;line-height:1!important;}
.right-deck-body .deck-help{display:none!important;}
.right-deck-body .deck-action-mount{display:contents!important;}
.right-deck-body #shuffleBtn{grid-column:2!important;grid-row:1!important;padding:4px 6px!important;font-size:12px!important;font-weight:900!important;}
.right-deck-body #endTurnBtn{grid-column:3!important;grid-row:1!important;padding:4px 6px!important;font-size:12px!important;font-weight:900!important;}

/* 본진 수치가 빠진 만큼 설명 영역 정리 */
.battle-hq .hq-subtitle{top:26px!important;}
.battle-hq .hq-advisor-summary{left:10px!important;right:132px!important;bottom:7px!important;min-height:32px!important;}


/* ================================================================
   v38 — raise right panel / show advisor name & level on slot header
   ================================================================ */
@media (min-width:851px){
  /* 우측 패널을 전체적으로 조금 더 위로 */
  .ally-side-align-spacer{flex:0 0 clamp(208px,26vh,248px)!important;height:auto!important;}
  .right-hq-summary{margin-bottom:4px!important;}
  .right-deck-section{margin-bottom:4px!important;}
  .right-hand-section{flex:0 0 404px!important;min-height:404px!important;max-height:404px!important;}
  .right-hand-section .handbox{padding:3px 4px 4px!important;}
}

/* 책사 배치 시 이름과 LV를 박스 상단 헤더에 표시 */
.battle-hq .hq-advisor-slot{position:absolute!important;overflow:hidden!important;}
.battle-hq .hq-advisor-slot .advisor-slot-badge{
  position:absolute;
  left:0; right:0; top:0;
  height:18px;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:2px 5px;
  background:linear-gradient(180deg,#2d2011,#110c07);
  border-bottom:1px solid #a37a43;
  color:#f7e6c8;
  box-shadow:0 1px 4px #000a;
}
.battle-hq .hq-advisor-slot .advisor-slot-badge b{font-size:9px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900;}
.battle-hq .hq-advisor-slot .advisor-slot-badge span{font-size:8px;line-height:1;color:#ffe29d;font-weight:900;flex:0 0 auto;}
.battle-hq .hq-advisor-slot.has-portrait .advisor-card.rich{padding-top:20px!important;}
.battle-hq .hq-advisor-slot.has-portrait .advisor-portrait{height:calc(100% - 0px)!important;}
.battle-hq .hq-advisor-slot.has-portrait .advisor-copy b{display:none!important;}

/* 비어 있을 때는 헤더 없이 중앙 정렬 */
.battle-hq .hq-advisor-slot:not(.has-portrait) .advisor-empty{padding-top:4px!important;}


/* ================================================================
   v39 — ensure full hand visibility on right panel with bottom breathing room
   ================================================================ */
@media (min-width:851px){
  .reference-right{padding-bottom:12px!important;box-sizing:border-box!important;}
  .ally-side-align-spacer{flex:0 0 clamp(168px,22vh,210px)!important;height:auto!important;}
  .right-hq-summary{margin-bottom:4px!important;}
  .right-hq-line{padding:5px!important;gap:5px!important;}
  .right-hq-stat{min-height:40px!important;height:40px!important;}
  .right-hq-stat span{font-size:9px!important;}
  .right-hq-stat b{font-size:14px!important;}
  .right-deck-section{flex:0 0 92px!important;min-height:92px!important;max-height:92px!important;margin-bottom:4px!important;}
  .right-deck-body{padding:5px!important;gap:5px!important;}
  .right-hand-section{flex:0 0 390px!important;min-height:390px!important;max-height:390px!important;overflow:hidden!important;}
  .right-hand-section>.ornate-title{flex:0 0 28px!important;}
  .right-hand-section .handbox{padding:3px 4px 10px!important;overflow:hidden!important;}
  #hand.hand{gap:4px!important;padding:0!important;}
  #hand.hand .card{grid-template-rows:20px minmax(72px,1fr) 32px!important;}
  #hand.hand .card-name-text{font-size:9px!important;}
  #hand.hand .card-stat-cell{min-height:24px!important;padding:1px!important;}
  #hand.hand .card-stat-cell b{font-size:10px!important;}
  #hand.hand .card-stat-cell span{font-size:6px!important;}
  #hand.hand .card-corner-meta{right:4px!important;bottom:4px!important;gap:3px!important;}
  #hand.hand .card-image-grade{min-width:20px!important;height:15px!important;font-size:8px!important;padding:0 4px!important;}
  #hand.hand .card-image-cost{width:22px!important;height:22px!important;font-size:12px!important;}
}


/* ================================================================
   v40 — popup-only utility descriptions / advisor grade system / auto image folders
   ================================================================ */
/* 아이템·스킬·책사 카드의 용도/상태 설명은 카드 앞면에서 제거하고 팝업에서만 제공 */
#hand.hand .card.utility-card{grid-template-rows:20px minmax(0,1fr)!important;}
#hand.hand .card.utility-card .cimg{height:100%!important;min-height:0!important;max-height:none!important;border-bottom:0!important;}
#hand.hand .card.utility-card .cstats,#hand.hand .card.utility-card .ctext{display:none!important;}
#hand.hand .card .ctext{display:none!important;}
#hand.hand .card.utility-card .card-type-badge{left:4px!important;bottom:4px!important;}

/* 폴더 자동 이미지도 기존 이미지 크기/위치 규칙을 그대로 사용 */
.card-art-img.auto-folder-art,.unit-art-img.auto-folder-art{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}

/* 책사 등급을 슬롯에서도 식별 */
.battle-hq .hq-advisor-slot .advisor-copy b{display:block!important;}
.battle-hq .hq-advisor-slot .advisor-slot-badge span{min-width:34px;text-align:right;}


/* ================================================================
   v41 — taller battle rows / image-first field cards / hidden scroll / deck builder
   ================================================================ */
/* 소환 카드: 이름/등급을 이미지 위 오버레이로 표시 */
.battlefield-layout .unit{grid-template-rows:minmax(0,1fr) 23px!important;}
.battlefield-layout .uname{display:none!important;}
.battlefield-layout .uimg{position:relative!important;overflow:hidden!important;}
.battlefield-layout .unit-image-meta{position:absolute;left:4px;right:4px;top:4px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:2px 4px;background:linear-gradient(180deg,#05080dcc,#05080d80);border-bottom:1px solid #ffffff24;pointer-events:none;}
.battlefield-layout .unit-image-meta .field-unit-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:950;color:#fff7e8;text-shadow:0 1px 4px #000;}
.battlefield-layout .unit-image-meta .field-grade{flex:0 0 auto;min-width:20px;height:16px;font-size:9px;}
/* 전투열 이미지는 얼굴/상단을 우선 */
.battlefield-layout .unit-art-img{object-fit:cover!important;object-position:var(--img-x,50%) var(--img-y,50%)!important;transform-origin:var(--img-x,50%) var(--img-y,50%)!important;}
.battlefield-layout .unit-art-img.auto-folder-art{object-position:var(--img-x,50%) var(--img-y,50%)!important;}

/* 소환 에너지 원: 단선 테두리 */
#hand.hand .card-image-cost{border:1px solid #ffe9a5!important;box-shadow:0 2px 6px #000b!important;}

/* 우측 패널/핸드: 스크롤 가능, 스크롤바 숨김 */
.reference-right,.right-hand-section,.right-hand-section .handbox,#hand.hand{scrollbar-width:none!important;-ms-overflow-style:none!important;}
.reference-right::-webkit-scrollbar,.right-hand-section::-webkit-scrollbar,.right-hand-section .handbox::-webkit-scrollbar,#hand.hand::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}
@media (min-width:851px){
  .reference-right{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;}
  .right-hand-section{overflow-y:auto!important;overflow-x:hidden!important;}
  .right-hand-section .handbox{overflow-y:auto!important;overflow-x:hidden!important;}
  #hand.hand{overflow-y:auto!important;overflow-x:hidden!important;align-content:start!important;grid-template-rows:repeat(2,minmax(176px,1fr))!important;grid-auto-rows:minmax(176px,1fr)!important;}

  /* 기존 대비 약 20% 높인 전투열. 중앙 전장은 숨김 스크롤로 탐색 */
  .battlefield-layout>.board{height:auto!important;min-height:1220px!important;grid-template-rows:156px repeat(3,142px) 28px repeat(3,142px) 162px!important;gap:6px!important;}
  .battlefield-layout .lane{height:142px!important;min-height:142px!important;padding:4px 6px!important;}
  .battlefield-layout .slot{height:100%!important;min-height:132px!important;max-height:none!important;}
}

/* 전투 시작 전 설정 잠금/해제 */
.formation-start-btn{width:100%;margin-top:4px;min-height:32px!important;font-weight:900;}
body.prebattle .board,body.prebattle .right-hand-section,body.prebattle .right-deck-body{filter:saturate(.78) brightness(.82);}
body.prebattle .board,body.prebattle .right-hand-section,body.prebattle .right-deck-body{pointer-events:none;}
#allyFormationSelect:disabled{opacity:.6;cursor:not-allowed;}

/* 덱 구성 버튼 */
.deck-title-tools{display:flex;align-items:center;gap:6px;}
.deck-builder-open{border:1px solid #9c7642;background:#17110b;color:#f1d8aa;font-size:9px;font-weight:900;padding:2px 7px;cursor:pointer;}
.deck-builder-open:hover{background:#2a1c0f;}
.deck-builder-box{width:min(1050px,96vw)!important;max-height:92vh!important;padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;}
.deck-builder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #5c4328;background:#0a0d0f;}
.deck-builder-head h2{margin:0 0 3px;font-size:18px;color:#f0d5a3;}
.deck-builder-toolbar{display:grid;grid-template-columns:120px 120px minmax(180px,1fr) 90px;gap:8px;padding:10px 12px;border-bottom:1px solid #40301f;background:#0d1115;align-items:end;}
.deck-builder-toolbar label{display:grid;gap:4px;font-size:9px;color:#cdbb9e;}
.deck-builder-toolbar select,.deck-builder-toolbar input{min-height:32px;padding:5px 7px;background:#111925;color:#e8edf5;border:1px solid #45556e;}
.deck-builder-count{height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #8c6837;background:#17120d;color:#e7d2ac;font-size:12px;}.deck-builder-count b{font-size:18px;color:#ffdd91;margin-right:4px;}
.deck-builder-main{flex:1;min-height:0;display:grid;grid-template-columns:1.15fr .85fr;gap:8px;padding:10px 12px;background:#070a0d;}
.deck-builder-pane{min-height:0;display:flex;flex-direction:column;border:1px solid #49351f;background:#0b0f13;}
.deck-builder-pane-title{flex:0 0 30px;display:flex;align-items:center;padding:0 9px;border-bottom:1px solid #49351f;color:#e6cfaa;font-size:11px;font-weight:900;}
.deck-builder-list{flex:1;min-height:0;overflow:auto;padding:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;align-content:start;scrollbar-width:none;}.deck-builder-list::-webkit-scrollbar{display:none;}
.deck-builder-list.selected{grid-template-columns:1fr;}
.deck-builder-card{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px;border:1px solid #3c4858;background:#10161d;color:#e8edf2;text-align:left;cursor:pointer;}
.deck-builder-card.selected{grid-template-columns:minmax(0,1fr) auto;border-color:#654a2b;background:#14110d;}
.deck-builder-card:hover{border-color:#c59a57;background:#171e26;}
.deck-builder-thumb{width:38px;height:48px;display:block;overflow:hidden;background:#151719;}.deck-builder-thumb img,.deck-builder-thumb .default-art{width:100%;height:100%;object-fit:cover;}
.deck-builder-copy{min-width:0;display:flex;flex-direction:column;gap:2px;}.deck-builder-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.deck-builder-copy small{font-size:8px;color:#9faebe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.deck-builder-owned{display:flex;align-items:center;gap:5px;font-size:9px;color:#c9b58e;}.deck-builder-owned em{font-style:normal;width:20px;height:20px;display:grid;place-items:center;border:1px solid #806039;color:#ffe1a3;font-size:14px;}
.deck-builder-empty{padding:16px;text-align:center;color:#84909d;font-size:10px;grid-column:1/-1;}
.deck-builder-summary{padding:8px 12px;border-top:1px solid #40301f;color:#bfae94;background:#0b0f13;font-size:10px;text-align:center;}
.deck-builder-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:10px 12px;border-top:1px solid #49351f;background:#090c0f;}
@media(max-width:850px){.deck-builder-toolbar{grid-template-columns:1fr 1fr}.deck-builder-main{grid-template-columns:1fr}.deck-builder-list{max-height:260px}.deck-builder-actions{grid-template-columns:1fr}.deck-builder-box{max-height:94vh!important;overflow:auto!important;}}

/* ================================================================
   v42 — strategist combat / unit ability / equipment UI
   ================================================================ */
.unit-class-tag{
  position:absolute;right:4px;bottom:4px;z-index:7;
  padding:2px 5px;border:1px solid #ffffff55;background:#05080dcc;
  color:#f1eadf;font-size:8px;font-weight:900;line-height:1.1;
}
.battlefield-layout .unit .typeicon{left:4px!important;right:auto!important;}
.hq-image-manager{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.hq-image-manager>.image-adjust-title{grid-column:1/-1!important;}
@media(max-width:1050px){.hq-image-manager{grid-template-columns:1fr!important;}.hq-image-manager>.image-adjust-title{grid-column:1!important;}}
.manager-field select:disabled,.manager-field input:disabled{opacity:.45;cursor:not-allowed;}


/* ================================================================
   v43 — 7-tier grades, general classes, item delta stats, 3x zoom
   ================================================================ */
:root{
  --grade-sss:#fff1a6;--grade-ss:#ff9f43;--grade-s:#f6cc58;--grade-rr:#ee86da;
  --grade-r:#b47cff;--grade-u:#65cdef;--grade-c:#a9b2bd;
}
.grade-SSS,.card-grade.grade-SSS{background:#66520e;color:#fff9cf;border-color:var(--grade-sss)}
.grade-SS,.card-grade.grade-SS{background:#713b0f;color:#fff0d7;border-color:var(--grade-ss)}
.grade-S,.card-grade.grade-S{background:#8a5b08;color:#fff3bd;border-color:var(--grade-s)}
.grade-RR,.card-grade.grade-RR{background:#762c68;color:#ffe0fa;border-color:var(--grade-rr)}
.grade-R,.card-grade.grade-R{background:#4b2a78;color:#efe3ff;border-color:var(--grade-r)}
.grade-U,.card-grade.grade-U{background:#205d72;color:#d9f7ff;border-color:var(--grade-u)}
.grade-C,.card-grade.grade-C{background:#3e4a59;color:#edf3fa;border-color:var(--grade-c)}
.card.grade-border-SSS,.unit.grade-border-SSS,.base-unit.grade-border-SSS{border-color:var(--grade-sss)!important;box-shadow:0 0 0 2px #9e7e17,0 0 18px #fff1a675!important}
.card.grade-border-SS,.unit.grade-border-SS,.base-unit.grade-border-SS{border-color:var(--grade-ss)!important;box-shadow:0 0 0 1px #754313,0 0 15px #ff9f435a!important}
.card.grade-border-S,.unit.grade-border-S,.base-unit.grade-border-S{border-color:var(--grade-s)!important;box-shadow:0 0 0 1px #5b4618,0 0 12px #f6cc5840!important}
.card.grade-border-RR,.unit.grade-border-RR,.base-unit.grade-border-RR{border-color:var(--grade-rr)!important;box-shadow:0 0 0 1px #59224e,0 0 11px #ee86da48!important}
.card.grade-border-R,.unit.grade-border-R,.base-unit.grade-border-R{border-color:var(--grade-r)!important;box-shadow:0 0 0 1px #3f285e,0 0 10px #b47cff44!important}
.card.grade-border-U,.unit.grade-border-U,.base-unit.grade-border-U{border-color:var(--grade-u)!important;box-shadow:0 0 0 1px #1d5264,0 0 9px #65cdef32!important}
.card.grade-border-C,.unit.grade-border-C,.base-unit.grade-border-C{border-color:var(--grade-c)!important;box-shadow:0 0 0 1px #3c444e!important}
#hand.hand .card-image-grade.grade-SSS{border-color:var(--grade-sss);color:#fffbd7;background:linear-gradient(180deg,#776112,#251b04)}
#hand.hand .card-image-grade.grade-SS{border-color:var(--grade-ss);color:#fff0d7;background:linear-gradient(180deg,#704114,#241306)}
#hand.hand .card-image-grade.grade-S{border-color:var(--grade-s);color:#fff4c8;background:linear-gradient(180deg,#574316,#241906)}
#hand.hand .card-image-grade.grade-RR{border-color:var(--grade-rr);color:#ffe5fb;background:linear-gradient(180deg,#5a2250,#20101d)}
#hand.hand .card-image-grade.grade-R{border-color:var(--grade-r);color:#f0e7ff;background:linear-gradient(180deg,#44286b,#171022)}
#hand.hand .card-image-grade.grade-U{border-color:var(--grade-u);color:#e3fbff;background:linear-gradient(180deg,#153849,#091b23)}
#hand.hand .card-image-grade.grade-C{border-color:var(--grade-c);color:#eef2f6;background:linear-gradient(180deg,#29313a,#11161b)}

/* 본진 책략가 슬롯은 빈 상태에서 굵은 테두리와 지정 문구만 표시 */
.advisor:not(.has-portrait){border:4px solid #d8e1ec!important;background:#0b1422d9!important;box-shadow:inset 0 0 0 1px #25344b,0 5px 14px #0007!important}
.advisor:not(.has-portrait) .advisor-empty{font-size:12px!important;font-weight:950!important;color:#f1f5fb!important;letter-spacing:.03em;line-height:1.2!important}
.advisor:not(.has-portrait) .mana{display:none!important}

/* 장수형/병종 표기 */
.unit-class-tag.general-class{background:#19120de8;border-color:#e3bd78;color:#ffe8b6;max-width:70px}

/* 장착 아이템 증가 수치는 기존 공격/방어/체력 위치에 바로 표시 */
.equip-stat-bonus{font-style:normal;font-size:.78em;font-weight:1000;color:#8ff0a4;margin-left:1px;text-shadow:0 1px 2px #000}
.stats .equip-stat-bonus,.base-unit-stat .equip-stat-bonus{display:inline}

/* 카드 이름 클릭 → 이미지 확대 */
.zoomable-card-name{cursor:zoom-in!important;text-decoration:none;transition:.12s ease}
.zoomable-card-name:hover{text-decoration:underline;text-underline-offset:2px;filter:brightness(1.18)}
.card-image-zoom-modal{align-items:center;justify-content:center;padding:20px;overflow:auto}
.card-image-zoom-box{max-width:none;min-width:320px;background:#0c1422;border:2px solid #8da4c5;border-radius:14px;padding:12px;box-shadow:0 24px 70px #000c}
.card-image-zoom-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.card-image-zoom-head b{font-size:16px}
.card-image-zoom-scroll{max-width:88vw;max-height:78vh;overflow:auto;border:1px solid #2e405d;background:#050a11;padding:10px;display:grid;place-items:center}
.card-image-zoom-visual{flex:0 0 auto;overflow:hidden;border-radius:10px;background:#101a29;display:flex;align-items:center;justify-content:center}
.card-image-zoom-visual>img,.card-image-zoom-visual>.default-art{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.card-image-zoom-note{margin-top:8px;text-align:center}

/* 진형 확장으로 5칸이 된 열 */
.slots.n5{grid-template-columns:repeat(5,minmax(82px,102px));gap:6px}
@media(max-width:850px){.slots.n5{grid-template-columns:repeat(5,94px)}}

.general-class-hand-badge{position:absolute;left:5px;bottom:5px;z-index:9;display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;border:1px solid #e0bd7a;background:#17100bd9;color:#ffe8b4;border-radius:999px;font-size:8px;font-weight:950;box-shadow:0 2px 7px #000b}


/* v45: 아이템 능력치를 장수 카드와 동일한 3칸 위치에 표시 */
#hand.hand .card.item-stat-card{grid-template-rows:20px minmax(0,1fr) auto!important;}
#hand.hand .card.item-stat-card .card-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
#hand.hand .card.item-stat-card .card-stat-cell:last-child{grid-column:auto!important;}
#hand.hand .card.item-stat-card .card-stat-cell b{font-size:13px!important;white-space:nowrap!important;color:#fff2bd;}
#hand.hand .card.item-stat-card .card-stat-cell span{font-size:6px!important;white-space:nowrap!important;color:#d9c794;}
#hand.hand .card.item-stat-card .cstats{display:block!important;}
.equip-stat-bonus{white-space:nowrap;}
.roster-stats .equip-stat-bonus{font-size:.7em;}


/* ================================================================
   v46 — AP accumulation / strategist actions / class icons
   ================================================================ */
/* 전투열: v45의 142px 대비 약 20% 확대 */
@media (min-width:851px){
  .battlefield-layout>.board{min-height:1395px!important;grid-template-rows:156px repeat(3,170px) 28px repeat(3,170px) 162px!important;gap:6px!important;}
  .battlefield-layout .lane{height:170px!important;min-height:170px!important;padding:4px 6px!important;}
  .battlefield-layout .slot{height:100%!important;min-height:160px!important;max-height:none!important;}
}
/* 병종 텍스트는 제거하고 상징 아이콘만 표시 */
.unit-class-tag{display:none!important;}
.unit-class-icon{position:absolute;right:5px;bottom:5px;z-index:10;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff88;background:#05080de8;font-size:15px;line-height:1;box-shadow:0 2px 7px #000b;}
.unit-class-icon.general-class-icon{border-color:#e3bd78;background:#19120deb;}
/* 전장 카드 이름 클릭 확대가 실제로 동작하도록 오버레이 이벤트 허용 */
.battlefield-layout .unit-image-meta{pointer-events:auto!important;}
.battlefield-layout .unit-image-meta .field-unit-name{pointer-events:auto!important;cursor:zoom-in!important;}
.battlefield-layout .unit-image-meta .field-grade{pointer-events:none!important;}
.field-strategist{cursor:pointer;}
.field-strategist::after{content:'🧠';position:absolute;left:5px;bottom:31px;z-index:10;width:22px;height:22px;display:grid;place-items:center;border:1px solid #86bbff;background:#08182ee8;border-radius:50%;font-size:13px;box-shadow:0 2px 7px #000b;}
.field-strategist-menu{position:fixed;z-index:12000;width:min(280px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;display:none;padding:8px;border:1px solid #8aa9d3;border-radius:10px;background:#07101cf5;color:#edf5ff;box-shadow:0 18px 50px #000d;}
.field-strategist-menu.show{display:block;}
.field-strategist-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:4px 4px 8px;border-bottom:1px solid #405575;}
.field-strategist-head b{font-size:15px;color:#fff1c0;}.field-strategist-head span{font-size:9px;color:#9fb6d2;}
.field-strategist-actions{display:grid;gap:5px;padding-top:7px;}
.field-strategist-actions button{display:grid;gap:2px;text-align:left;padding:7px 8px;border:1px solid #415a7c;background:#111d2c;color:#eaf2fc;cursor:pointer;}
.field-strategist-actions button:hover:not(:disabled){border-color:#e0b966;background:#1b293a;}
.field-strategist-actions button:disabled{opacity:.55;cursor:not-allowed;}
.field-strategist-actions button b{font-size:11px;color:#ffe2a1;}.field-strategist-actions button span{font-size:8px;line-height:1.35;color:#b9c8da;}
.field-strategist-actions .field-passive{border-style:dashed;}
.ap-gain-feedback{border-color:#75d598!important;}
.ap-gain-feedback b{color:#91f0ad!important;}
@media(max-width:850px){
  .field-strategist-menu{left:8px!important;right:8px!important;top:auto!important;bottom:8px!important;width:auto!important;max-height:62vh;}
  .unit-class-icon{width:22px;height:22px;font-size:13px;}
}

.soldier-class-hand-icon{position:absolute;left:5px;bottom:5px;z-index:9;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff88;background:#05080de8;font-size:13px;box-shadow:0 2px 7px #000b;}
.base-soldier-class-icon{position:absolute;right:26px;bottom:3px;z-index:6;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff77;background:#05080de8;font-size:12px;}


/* 파일 입력 겹침 방지 */
.manager-preview-wrap input[type=file],
.hq-image-setting input[type=file]{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;border:0!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.manager-preview-wrap .manager-upload-label,
.hq-image-setting .manager-upload-label,
.hq-image-setting .btn{
  width:100%;display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;
}
.hq-image-setting{align-content:start}
.hq-image-preview{border-radius:6px}
.hq-image-manager{align-items:start}

/* ================================================================
   v48 — 40-card point deck / card shop / default image rules
   ================================================================ */
/* 카드 이름 확대 + 이름 오른쪽 등급 */
#hand.hand .cname.card-title-area{
  min-height:30px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:5px!important;
  padding:4px 6px!important;
  justify-content:stretch!important;
}
#hand.hand .card-name-text{
  justify-self:start!important;
  max-width:100%!important;
  font-size:13px!important;
  line-height:1.1!important;
  font-weight:1000!important;
  text-align:left!important;
}
#hand.hand .card-title-grade,
.collection-card-title em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:25px;
  height:18px;
  padding:0 5px;
  border:0;
  border-radius:4px;
  font-size:9px;
  font-style:normal;
  font-weight:1000;
  line-height:1;
  box-shadow:0 1px 4px #0009;
}
#hand.hand .card-corner-meta,#hand.hand .card-image-grade,#hand.hand .card-image-cost{display:none!important;}

/* 우측 하단: 테두리 없는 카드 종류 / 책략가 / 행동력 아이콘 */
#hand.hand .card-bottom-icons,
.battlefield-layout .unit-bottom-icons,
.collection-card-icons{
  position:absolute;
  right:5px;
  bottom:5px;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  color:#fff8e8;
  font-weight:1000;
  line-height:1;
  text-shadow:0 2px 4px #000,0 0 5px #000;
  pointer-events:none;
}
#hand.hand .card-bottom-icons span,
.battlefield-layout .unit-bottom-icons span,
.collection-card-icons span{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  min-width:0!important;
  height:auto!important;
  border-radius:0!important;
  font-size:15px;
  white-space:nowrap;
}
#hand.hand .card-bottom-icons .card-ap-icon,
.battlefield-layout .unit-bottom-icons span:last-child,
.collection-card-icons span:last-child{font-size:13px;color:#ffe58c;letter-spacing:-.04em;}
#hand.hand .card-type-badge{display:none!important;}
#hand.hand .general-class-hand-badge,#hand.hand .soldier-class-hand-icon{left:5px!important;right:auto!important;bottom:5px!important;}
.battlefield-layout .unit-class-icon{left:5px!important;right:auto!important;bottom:5px!important;}
.battlefield-layout .typeicon{display:none!important;}
.battlefield-layout .unit-image-meta .field-unit-name{font-size:13px!important;}
.battlefield-layout .unit-image-meta .field-grade{border:0!important;font-size:9px!important;}
.field-strategist::after{display:none!important;}

/* 관리자: 미등록 카드 기본 이미지 */
.default-card-image-manager{display:grid;gap:7px;padding:9px;border:1px solid #536176;background:#0b1118;}
.default-image-note{font-size:8px;line-height:1.45;color:#aebbc9;}
.default-image-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.default-image-controls label{display:grid;gap:3px;font-size:8px;color:#cbb998;}
.default-image-controls select{min-height:30px;padding:4px 6px;background:#111925;color:#e9eef5;border:1px solid #485a73;}
.default-image-preview{height:112px;display:grid;place-items:center;overflow:hidden;border:1px dashed #51647d;background:#070b10;color:#7f8c9c;font-size:9px;}
.default-image-preview img{width:100%;height:100%;display:block;object-fit:cover;}
.default-card-image-manager input[type=file]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;}

/* 덱 구성: 이미지 카드 그리드 + 점수 */
.deck-builder-toolbar{grid-template-columns:115px 115px minmax(150px,1fr) 92px 112px!important;}
.deck-builder-score{height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #4a7a5a;background:#0d1711;color:#cfe8d5;font-size:10px;}
.deck-builder-score b{font-size:17px;color:#99edaa;margin-right:4px;}
.deck-builder-score.over{border-color:#a84b45;background:#21100f;color:#ffb8b3;}
.deck-builder-score.over b{color:#ff766f;}
.deck-builder-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;padding:8px!important;}
.deck-builder-list.selected{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.deck-builder-visual-card,.shop-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:30px minmax(118px,1fr) 28px;
  padding:0;
  border:2px solid #4a5665;
  background:#0c1219;
  color:#eaf0f6;
  text-align:left;
}
button.deck-builder-visual-card{cursor:pointer;}
button.deck-builder-visual-card:hover{filter:brightness(1.12);transform:translateY(-1px);}
.deck-builder-visual-card.selected{background:#15110d;}
.collection-card-title{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding:4px 5px;background:linear-gradient(180deg,#302117,#17100b);border-bottom:1px solid #61492e;}
.collection-card-title b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:1000;color:#fff3dc;}
.collection-card-art{position:relative;min-height:0;display:block;overflow:hidden;background:#101722;}
.collection-card-art>img,.collection-card-art>.default-art{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;}
.collection-card-foot{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:4px 5px;background:#0b1016;border-top:1px solid #354253;}
.collection-card-foot small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;color:#9eafc0;}
.collection-card-foot strong{flex:0 0 auto;font-size:10px;color:#ffe0a1;}
.deck-builder-summary .score-over{color:#ff7972;}.deck-builder-summary .score-ok{color:#8fe0a0;}

/* 카드 상점 */
.card-shop-box{width:min(1180px,97vw)!important;max-height:94vh!important;padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;}
.card-shop-head,.game-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #5c4328;background:#0a0d0f;}
.card-shop-head h2,.game-settings-head h2{margin:0 0 3px;font-size:19px;color:#f0d5a3;}
.card-shop-toolbar{display:grid;grid-template-columns:130px 130px minmax(180px,1fr) 90px;gap:8px;padding:10px 12px;border-bottom:1px solid #40301f;background:#0d1115;align-items:end;}
.card-shop-toolbar label{display:grid;gap:4px;font-size:9px;color:#cdbb9e;}
.card-shop-toolbar select,.card-shop-toolbar input{min-height:32px;padding:5px 7px;background:#111925;color:#e8edf5;border:1px solid #45556e;}
.card-shop-count{height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #8c6837;background:#17120d;color:#e7d2ac;font-size:10px;}.card-shop-count b{font-size:17px;color:#ffdd91;margin-right:3px;}
.card-shop-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;padding:12px;background:#070a0d;align-content:start;scrollbar-width:none;}.card-shop-grid::-webkit-scrollbar{display:none;}
.shop-card{min-height:210px;cursor:zoom-in;}
.shop-card:hover{filter:brightness(1.12);transform:translateY(-2px);}

/* 게임 설정 */
.game-settings-box{width:min(660px,94vw)!important;padding:0!important;overflow:hidden!important;}
.deck-rule-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:16px;background:#0b1016;}
.deck-rule-form label{display:grid;gap:5px;padding:9px;border:1px solid #3f4d60;background:#101823;color:#d3deea;font-size:10px;font-weight:800;}
.deck-rule-form input{min-width:0;height:34px;padding:5px 7px;background:#080d13;color:#fff1c7;border:1px solid #586a80;font-size:15px;font-weight:900;text-align:center;}
.deck-rule-form .deck-limit-field{grid-column:span 2;border-color:#9a7440;background:#17120d;}
.settings-note{padding:10px 16px;border-top:1px solid #3d4857;background:#090d12;color:#9eacba;font-size:9px;line-height:1.5;}
.game-settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;border-top:1px solid #49351f;background:#090c0f;}

/* 설정/상점 버튼이 좌측 메뉴 폭에 맞게 배치 */
.top-options{grid-template-columns:1fr 1fr!important;}
.top-options .checkline{grid-column:span 1;}
.top-options .btn{width:100%;min-width:0;}

@media(max-width:1000px){
  .card-shop-grid{grid-template-columns:repeat(4,minmax(110px,1fr));}
  .deck-builder-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .deck-builder-list.selected{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:850px){
  #hand.hand .card-name-text{font-size:11px!important;}
  .deck-builder-toolbar{grid-template-columns:1fr 1fr!important;}
  .deck-builder-score,.deck-builder-count{min-width:0;}
  .deck-builder-list,.deck-builder-list.selected{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:340px;}
  .card-shop-toolbar{grid-template-columns:1fr 1fr;}
  .card-shop-grid{grid-template-columns:repeat(2,minmax(120px,1fr));}
  .deck-rule-form{grid-template-columns:repeat(2,minmax(0,1fr));}
  .deck-rule-form .deck-limit-field{grid-column:span 2;}
  .default-image-controls{grid-template-columns:1fr;}
}
.game-settings-box{max-height:92vh!important;overflow:auto!important;}
.deck-builder-list{grid-auto-rows:176px!important;}
.deck-builder-visual-card{height:176px!important;min-height:176px!important;}


/* ================================================================
   v49 — special armies / uniform battlefield cards / larger hand
   ================================================================ */
/* 본진 지략가 슬롯: 카드 이미지만 표시하고 이름·Lv·MP는 한 줄 오버레이 */
.battle-hq .hq-advisor-slot.has-portrait{padding:0!important;background:#080d14!important;}
.battle-hq .hq-advisor-slot .advisor-image-only{position:relative!important;width:100%!important;height:100%!important;display:block!important;padding:0!important;overflow:hidden!important;}
.battle-hq .hq-advisor-slot .advisor-image-only .advisor-portrait{width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:#0a111b!important;overflow:hidden!important;}
.battle-hq .hq-advisor-slot .advisor-image-only .advisor-portrait>img,
.battle-hq .hq-advisor-slot .advisor-image-only .advisor-portrait>.default-art{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center top!important;}
.battle-hq .hq-advisor-slot .advisor-image-only .advisor-slot-badge{height:20px!important;padding:2px 5px!important;background:linear-gradient(180deg,#080b10e8,#080b10c7)!important;border-bottom:1px solid #d5aa62!important;}
.battle-hq .hq-advisor-slot .advisor-image-only .advisor-slot-badge b{font-size:10px!important;}
.battle-hq .hq-advisor-slot .advisor-image-only .advisor-slot-badge span{font-size:9px!important;min-width:auto!important;}

/* 덱 점수 가독성 확대 */
.deck-builder-score{font-size:13px!important;font-weight:900!important;}
.deck-builder-score b{font-size:22px!important;}
.collection-card-foot small{font-size:10px!important;font-weight:850!important;color:#d3deea!important;}
.collection-card-foot strong{font-size:12px!important;}
.deck-builder-summary{font-size:13px!important;}
.deck-builder-summary b{font-size:16px!important;}

@media (min-width:851px){
  /* v48 실측 전장 457px → 약 548px(+20%), 핸드 310px → 372px(+20%) */
  .app{
    width:min(1168px,calc(100vw - 24px))!important;
    grid-template-columns:220px minmax(0,1fr) 372px!important;
  }
  /* v48 최종 핸드 390px → 429px(+10%) */
  .right-hand-section{flex-basis:429px!important;min-height:429px!important;max-height:429px!important;}
  /* 중앙 패널 자체를 확장했으므로 보드는 패널 폭을 정확히 사용 */
  .battlefield-layout>.board{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;}
  /* 4·3·2칸 진형: 96/4 = 72/3 = 48/2로 카드 1장 폭을 동일화 */
  .battlefield-layout .slots.n4{width:96%!important;max-width:none!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .battlefield-layout .slots.n3{width:72%!important;max-width:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .battlefield-layout .slots.n2{width:48%!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* 전투필드 장수·지략가 클릭 기술 팝업 가독성 */
.field-strategist-menu{width:min(310px,calc(100vw - 16px))!important;}
.field-strategist-head b{font-size:16px!important;}
.field-strategist-actions button b{font-size:12px!important;}
.field-strategist-actions button span{font-size:10px!important;}


/* ================================================================
   v53 — ally HQ moved above right-side HP/MP/AP and HUD spacing polish
   ================================================================ */
@media (min-width:851px){
  /* 중앙 전투필드에서는 하단 아군 본진 행을 제거한 8행 구조를 사용한다. */
  .battlefield-layout>.board{
    grid-template-rows:156px repeat(3,170px) 28px repeat(3,170px)!important;
    min-height:1238px!important;
  }

  /* 아군 본진을 우측 체력·MP·행동력 상태 박스 바로 위에 배치한다. */
  .reference-right .right-panel-hq-row{
    order:0!important;
    flex:0 0 104px!important;
    width:100%!important;
    height:104px!important;
    min-height:104px!important;
    padding:0!important;
    margin:0 0 4px!important;
    align-items:stretch!important;
    box-sizing:border-box!important;
  }
  .reference-right .right-panel-hq-row .battle-hq{
    width:100%!important;
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    box-sizing:border-box!important;
  }

  /* 우측 HUD의 박스 간격과 내부 여백을 4px/5px 기준으로 통일한다. */
  .reference-right{padding-bottom:4px!important;}
  .right-formation-mount,
  .reference-right .right-panel-hq-row,
  .right-hq-summary,
  .right-deck-section{
    margin-bottom:4px!important;
  }
  .right-hand-section{
    margin:0!important;
    border:1px solid #6c4520!important;
    box-sizing:border-box!important;
  }
  .right-hand-section>.ornate-title{
    height:28px!important;
    min-height:28px!important;
    flex:0 0 28px!important;
  }
  .right-hand-section .handbox{
    padding:5px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  /* '40 장', '셔플', '턴 종료'의 글자 크기와 행 높이를 동일하게 한다. */
  .right-deck-body .deck-info b,
  .right-deck-body #shuffleBtn,
  .right-deck-body #endTurnBtn{
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
  .right-deck-body .deck-info,
  .right-deck-body #shuffleBtn,
  .right-deck-body #endTurnBtn{
    height:40px!important;
    min-height:40px!important;
    padding:4px 6px!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:850px){
  /* 모바일에서도 이동된 아군 본진이 상태 박스 바로 위에 자연스럽게 표시된다. */
  .reference-right .right-panel-hq-row{
    width:100%!important;
    min-height:104px!important;
    padding:0!important;
    margin:0 0 4px!important;
  }
  .reference-right .right-panel-hq-row .battle-hq{
    width:100%!important;
    height:104px!important;
    min-height:104px!important;
  }
}


/* v54 layout updates */
.formation-control{display:grid;gap:6px;padding:8px;border:1px solid #4d3b27;background:#0b0e10;border-radius:7px}
.formation-control>span{font-size:11px;color:#d8c8ae;font-weight:800;text-align:left}
.formation-inline{display:flex;align-items:center;gap:8px;justify-content:flex-start}
.formation-inline #allyFormationSelect{width:118px!important;min-width:118px!important;max-width:118px!important;flex:0 0 118px!important;font-size:12px!important}
.formation-inline .formation-start-btn{flex:0 0 auto;width:auto!important;min-width:98px!important;margin-top:0!important;padding:0 14px!important;white-space:nowrap}
.reference-right .compact-settings-holder .formation-inline{display:flex!important;align-items:center!important;gap:8px!important}
.reference-right .compact-settings-holder .formation-inline #allyFormationSelect{width:112px!important;min-width:112px!important;max-width:112px!important;flex:0 0 112px!important}
.reference-right .compact-settings-holder .formation-inline .formation-start-btn{width:auto!important;min-width:96px!important;margin-top:0!important}
.formation-note{display:none!important}
.right-hq-summary{display:none!important}
/* 본진 이미지 위 자연스러운 상태 표시 */
.battle-hq .hq-info-overlay{display:flex!important;position:absolute!important;left:12px!important;right:132px!important;top:44px!important;gap:10px!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;pointer-events:none!important;z-index:8!important}
.battle-hq .hptxt{display:none!important}
.battle-hq .hq-stat-chip{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:13px!important;font-weight:950!important;color:#fff7e8!important;text-shadow:0 2px 8px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.8)!important}
.battle-hq .hq-stat-chip .hq-stat-icon{font-size:12px!important;opacity:.98!important}
.battle-hq .hq-stat-chip b,.battle-hq .hq-stat-chip .hq-stat-value{font-size:16px!important;line-height:1!important;font-weight:950!important;color:inherit!important}
.battle-hq .hq-stat-chip.skill{display:none!important}
#enemyHq .hq-info-overlay{right:136px!important}
#allyHq .hq-info-overlay{right:136px!important}
@media (max-width: 1480px){
  .formation-inline #allyFormationSelect{width:108px!important;min-width:108px!important;max-width:108px!important;flex-basis:108px!important}
  .battle-hq .hq-info-overlay{left:10px!important;right:124px!important;top:40px!important;gap:8px!important}
  .battle-hq .hq-stat-chip{font-size:12px!important}
  .battle-hq .hq-stat-chip b,.battle-hq .hq-stat-chip .hq-stat-value{font-size:14px!important}
}


/* v56: 전투설정 우측 상단 재배치 + 아군 본진 높이 확대 */
.reference-right #rightFormationMount{
  order:-10!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 6px!important;
  display:block!important;
}
.reference-right #rightFormationMount .compact-settings-holder{
  display:block!important;
  width:100%!important;
  margin:0!important;
}
.reference-right .right-panel-hq-row{
  flex:0 0 136px!important;
  height:136px!important;
  min-height:136px!important;
  margin:0 0 6px!important;
}
.reference-right .right-panel-hq-row .battle-hq{
  height:136px!important;
  min-height:136px!important;
  max-height:136px!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-info-overlay{
  top:48px!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot{
  top:33px!important;
  height:88px!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-summary{
  bottom:9px!important;
}
@media (max-width:850px){
  .reference-right .right-panel-hq-row{
    flex-basis:124px!important;
    height:124px!important;
    min-height:124px!important;
  }
  .reference-right .right-panel-hq-row .battle-hq{
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
  }
  .reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot{
    height:80px!important;
  }
}


/* v57: 덱 구성 버튼 이동 및 아군 본진 가변 높이 */
.reference-right #allySideAlignSpacer,
.reference-right #allyHandAlignSpacer{
  display:none!important;
  height:0!important;
  flex:0 0 0!important;
}
.reference-right #rightFormationMount{
  order:-10!important;
  flex:0 0 auto!important;
  margin:0 0 6px!important;
}
.reference-right .right-panel-hq-row{
  order:-9!important;
  flex:1 1 auto!important;
  height:auto!important;
  min-height:190px!important;
  max-height:none!important;
  margin:0 0 6px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.reference-right .right-panel-hq-row .battle-hq{
  width:100%!important;
  height:100%!important;
  min-height:190px!important;
  max-height:none!important;
  flex:1 1 auto!important;
  margin:0!important;
}
.reference-right .right-deck-section{
  order:-8!important;
  flex:0 0 96px!important;
  min-height:96px!important;
  max-height:96px!important;
  margin:0 0 4px!important;
}
.reference-right .right-hand-section{order:-7!important;}
.reference-right .formation-inline{
  display:grid!important;
  grid-template-columns:minmax(92px,112px) minmax(88px,1fr) minmax(78px,1fr)!important;
  gap:6px!important;
  align-items:stretch!important;
}
.reference-right .formation-inline #allyFormationSelect{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
}
.reference-right .formation-inline .formation-start-btn,
.reference-right .formation-inline .formation-deck-btn{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0 7px!important;
  min-height:32px!important;
  white-space:nowrap!important;
  font-size:11px!important;
  font-weight:900!important;
}
.reference-right .formation-inline .formation-deck-btn{
  border-color:#8b6b3c!important;
  background:linear-gradient(180deg,#2b2419,#17130e)!important;
  color:#f3dfb6!important;
}
.right-deck-section .deck-title-tools,
.right-deck-section .title-count{
  display:none!important;
}
@media (max-width:850px){
  .reference-right .right-panel-hq-row{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:180px!important;
    max-height:none!important;
  }
  .reference-right .right-panel-hq-row .battle-hq{
    height:100%!important;
    min-height:180px!important;
    max-height:none!important;
  }
}

/* ================================================================
   v58 — 좌우 본진 대칭 배치, 전략가 슬롯, 상단 메뉴 간소화
   ================================================================ */
@media (min-width:851px){
  /* 좌우 패널 폭을 동일하게 맞춘다. */
  .app{
    width:min(1516px,calc(100vw - 24px))!important;
    grid-template-columns:372px minmax(520px,1fr) 372px!important;
  }
  .reference-left,.reference-right{min-width:0!important;width:auto!important;}

  /* 적 본진을 중앙 전장에서 제거했으므로 3+전선+3열 구조로 정리한다. */
  .battlefield-layout>.board{
    grid-template-rows:repeat(3,170px) 28px repeat(3,170px)!important;
    min-height:1048px!important;
  }

  /* 좌측 전투로그 자리에 적 본진을 배치하고 아군 본진과 동일 높이로 동기화한다. */
  .reference-left .enemy-hq-host{
    flex:0 0 auto!important;
    min-height:190px!important;
    margin:6px 0!important;
    padding:0!important;
    border:0!important;
    background:#080c0e!important;
    overflow:hidden!important;
  }
  .reference-left .enemy-hq-mount,
  .reference-left .enemy-hq-row{
    width:100%!important;
    height:100%!important;
    min-height:190px!important;
    padding:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    align-items:stretch!important;
  }
  .reference-left .enemy-hq-row .battle-hq{
    width:100%!important;
    height:100%!important;
    min-height:190px!important;
    max-height:none!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    box-sizing:border-box!important;
  }
}

.battle-log-hidden{display:none!important;}

/* 적 지략가 설명 박스와 행동 단계 배지를 완전히 제거한다. */
#castleEnemyAdvisorSummary,.battle-hq .hq-advisor-summary,#phaseBadge{display:none!important;}
.turn-plate{gap:0!important;}

/* 전략가 배치 슬롯: 일반 1px 테두리, 핸드 카드의 약 80% 크기. */
.battle-hq .hq-advisor-slot{
  width:94px!important;
  height:144px!important;
  min-width:94px!important;
  min-height:144px!important;
  max-width:94px!important;
  max-height:144px!important;
  right:12px!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  padding:0!important;
  border:1px solid #9b7844!important;
  border-radius:4px!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#080d14!important;
  box-sizing:border-box!important;
}
.battle-hq .hq-advisor-slot .advisor-card,
.battle-hq .hq-advisor-slot .advisor-image-only,
.battle-hq .hq-advisor-slot .advisor-portrait{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  background:#080d14!important;
}
.battle-hq .hq-advisor-slot .advisor-portrait>img,
.battle-hq .hq-advisor-slot .advisor-portrait>.default-art,
.battle-hq .hq-advisor-slot .advisor-portrait>svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
}
.battle-hq .hq-advisor-slot .advisor-slot-badge{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:auto!important;
  height:22px!important;
  padding:2px 4px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  background:linear-gradient(180deg,#090d12ed,#090d12c9)!important;
  border:0!important;
  border-bottom:1px solid #9b7844!important;
  z-index:5!important;
  box-sizing:border-box!important;
}
.battle-hq .hq-advisor-slot .advisor-slot-badge b{font-size:9px!important;}
.battle-hq .hq-advisor-slot .advisor-slot-badge span{font-size:8px!important;}
.battle-hq .hq-advisor-slot .advisor-empty{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  padding:8px!important;
  border:0!important;
  font-size:11px!important;
  line-height:1.35!important;
  text-align:center!important;
  color:#c7b18f!important;
  box-sizing:border-box!important;
}

/* 본진 수치가 전략가 카드와 겹치지 않도록 여백을 확보한다. */
.battle-hq .hq-info-overlay{
  right:118px!important;
  top:46px!important;
}

/* 상단 설정을 간소화하고 카드 상점/관리 버튼을 동일 크기로 좌우 배치한다. */
.reference-topbar{
  grid-template-columns:auto auto minmax(210px,260px) auto!important;
  align-items:center!important;
}
.simplified-top-control{display:flex!important;align-items:center!important;}
.top-card-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:220px!important;
  align-items:stretch!important;
}
.top-card-actions .btn{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:5px 8px!important;
  font-size:11px!important;
  font-weight:900!important;
  box-sizing:border-box!important;
}

@media (max-width:850px){
  .battle-hq .hq-advisor-slot{
    width:84px!important;
    height:128px!important;
    min-width:84px!important;
    min-height:128px!important;
    max-width:84px!important;
    max-height:128px!important;
    right:8px!important;
  }
  .battle-hq .hq-info-overlay{right:100px!important;}
  .top-card-actions{min-width:0!important;grid-template-columns:1fr 1fr!important;}
}

/* v58 좌측 전투 메뉴 내부 상단바 정렬 보정 */
#leftMenuMount .reference-topbar{
  width:100%!important;
  margin:0!important;
  padding:6px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:auto auto auto!important;
  gap:6px!important;
  box-sizing:border-box!important;
}
#leftMenuMount .simplified-top-control{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
}
#leftMenuMount .simplified-top-control .top-new{
  width:100%!important;
  height:30px!important;
  min-height:30px!important;
}
#leftMenuMount .turn-plate{
  grid-column:2!important;
  grid-row:1!important;
  min-height:30px!important;
  padding:2px 6px!important;
}
#leftMenuMount .turn-plate>div{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
}
#leftMenuMount .turn-plate b{font-size:20px!important;}
#leftMenuMount .top-card-actions{
  grid-column:1/3!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
}
#leftMenuMount .faction-pickers{
  grid-column:1/3!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  width:100%!important;
}
#leftMenuMount .faction-pickers label{min-width:0!important;}


/* v59 전략가 배치 슬롯 미세조정: 핸드 카드의 약 80% 크기, 상하 동일 최소 여백 */
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot{
  width:96px!important;
  height:148px!important;
  min-width:96px!important;
  min-height:148px!important;
  max-width:96px!important;
  max-height:148px!important;
  right:10px!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-info-overlay,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-summary,
.reference-right .right-panel-hq-row .battle-hq .hq-unit-slot{
  right:118px!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-card,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-image-only,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-portrait,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-empty{
  width:100%!important;
  height:100%!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:8px 7px!important;
  font-size:11px!important;
  line-height:1.3!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-slot-badge{
  height:20px!important;
  padding:2px 5px!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-slot-badge b{
  font-size:10px!important;
}
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-slot-badge span{
  font-size:8px!important;
}
@media (max-width:850px){
  .reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot{
    width:86px!important;
    height:132px!important;
    min-width:86px!important;
    min-height:132px!important;
    max-width:86px!important;
    max-height:132px!important;
    right:8px!important;
  }
  .reference-right .right-panel-hq-row .battle-hq .hq-info-overlay,
  .reference-right .right-panel-hq-row .battle-hq .hq-advisor-summary,
  .reference-right .right-panel-hq-row .battle-hq .hq-unit-slot{
    right:100px!important;
  }
}


/* v60: 전투 행동력, 전투 카드 폭, 양쪽 본진/책사 슬롯 대칭 보정 */
@media (min-width:851px){
  /* 기존 전투 카드 폭 대비 20% 축소. 4/3/2칸 진형 모두 카드 1장 폭은 동일하다. */
  .battlefield-layout .slots.n4{
    width:76.8%!important;
    max-width:none!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .battlefield-layout .slots.n3{
    width:57.6%!important;
    max-width:none!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .battlefield-layout .slots.n2{
    width:38.4%!important;
    max-width:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  /* 적군/아군 본진은 같은 폭·높이 규칙을 사용한다. */
  .reference-left .enemy-hq-host,
  .reference-left .enemy-hq-row,
  .reference-left .enemy-hq-row .battle-hq,
  .reference-right .right-panel-hq-row,
  .reference-right .right-panel-hq-row .battle-hq{
    min-height:190px!important;
    box-sizing:border-box!important;
  }
}

/* 적군 책사 박스를 아군 책사 박스와 완전히 동일하게 맞춘다. */
.reference-left .enemy-hq-row .battle-hq .hq-advisor-slot,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot{
  width:96px!important;
  height:148px!important;
  min-width:96px!important;
  min-height:148px!important;
  max-width:96px!important;
  max-height:148px!important;
  right:10px!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #9b7844!important;
  border-radius:4px!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#080d14!important;
  box-sizing:border-box!important;
}
.reference-left .enemy-hq-row .battle-hq .hq-info-overlay,
.reference-left .enemy-hq-row .battle-hq .hq-unit-slot,
.reference-right .right-panel-hq-row .battle-hq .hq-info-overlay,
.reference-right .right-panel-hq-row .battle-hq .hq-unit-slot{
  right:118px!important;
}
.reference-left .enemy-hq-row .battle-hq .hq-advisor-slot .advisor-card,
.reference-left .enemy-hq-row .battle-hq .hq-advisor-slot .advisor-image-only,
.reference-left .enemy-hq-row .battle-hq .hq-advisor-slot .advisor-portrait,
.reference-left .enemy-hq-row .battle-hq .hq-advisor-slot .advisor-empty,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-card,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-image-only,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-portrait,
.reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot .advisor-empty{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
}
@media (max-width:850px){
  .reference-left .enemy-hq-row .battle-hq .hq-advisor-slot,
  .reference-right .right-panel-hq-row .battle-hq .hq-advisor-slot{
    width:86px!important;
    height:132px!important;
    min-width:86px!important;
    min-height:132px!important;
    max-width:86px!important;
    max-height:132px!important;
    right:8px!important;
  }
  .reference-left .enemy-hq-row .battle-hq .hq-info-overlay,
  .reference-left .enemy-hq-row .battle-hq .hq-unit-slot,
  .reference-right .right-panel-hq-row .battle-hq .hq-info-overlay,
  .reference-right .right-panel-hq-row .battle-hq .hq-unit-slot{
    right:100px!important;
  }
}


/* v61: 카드 상점 카드를 핸드 카드와 동일 크기로 표시 */
@media (min-width:851px){
  .card-shop-grid{
    grid-template-columns:repeat(auto-fill,118px)!important;
    grid-auto-rows:185px!important;
    justify-content:start!important;
    align-items:start!important;
    gap:9px!important;
  }
  .card-shop-grid .shop-card{
    width:118px!important;
    height:185px!important;
    min-width:118px!important;
    min-height:185px!important;
    max-width:118px!important;
    max-height:185px!important;
    grid-template-rows:22px minmax(0,1fr) 34px!important;
    box-sizing:border-box!important;
  }
  .card-shop-grid .collection-card-title{
    min-height:22px!important;
    padding:2px 4px!important;
  }
  .card-shop-grid .collection-card-title b{font-size:10px!important;}
  .card-shop-grid .collection-card-art{min-height:0!important;}
  .card-shop-grid .collection-card-foot{
    min-height:34px!important;
    padding:3px 4px!important;
  }
  .card-shop-grid .collection-card-foot small{font-size:7px!important;}
  .card-shop-grid .collection-card-foot strong{font-size:10px!important;}
}
@media (max-width:850px){
  .card-shop-grid{
    grid-template-columns:repeat(auto-fill,minmax(104px,1fr))!important;
    grid-auto-rows:170px!important;
    gap:7px!important;
  }
  .card-shop-grid .shop-card{
    width:100%!important;
    height:170px!important;
    min-height:170px!important;
    max-height:170px!important;
    grid-template-rows:21px minmax(0,1fr) 32px!important;
    box-sizing:border-box!important;
  }
}

/* v62: 전장 폭, 핸드 페이지, 규칙 모달, 연막 표시 */
@media (min-width:851px){
  .battle-panel .boardwrap{
    width:80%!important;
    max-width:80%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .battle-panel .battlefield-layout{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
}
.reference-left .enemy-hq-host,
.reference-left .enemy-hq-mount,
.reference-left .enemy-hq-row,
.reference-left .enemy-hq-row .battle-hq{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.hand-pager{
  flex:0 0 28px;
  min-height:28px;
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  gap:6px;
  margin:0 0 5px;
  padding:2px 4px;
  border:1px solid #5b4024;
  background:#0b0e10;
}
.hand-pager[hidden]{display:none!important;}
.hand-pager .btn{height:24px!important;min-height:24px!important;padding:0!important;font-size:18px!important;line-height:1!important;}
.hand-pager b{text-align:center;font-size:11px;color:#f0d7a7;}
.concealed-unit .stats{position:relative;overflow:hidden;background:linear-gradient(180deg,#1a2026,#0a0d10)!important;}
.concealed-unit .stats::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent,#dbe8f02e,transparent);pointer-events:none;}
.concealed-unit .stats span{position:relative;color:#eef5fa!important;text-shadow:0 1px 5px #000;}
.smoke-buff{background:#dfe9ef!important;color:#15202a!important;border-color:#fff!important;}
.rules-box{width:min(980px,94vw)!important;max-height:88vh!important;overflow:auto!important;}
.rules-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #76522c;}
.rules-head h2{margin:0 0 4px;}
.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.rules-grid section{padding:11px 13px;border:1px solid #5a4127;background:linear-gradient(180deg,#101417,#090c0e);}
.rules-grid h3{margin:0 0 8px;color:#efca8c;font-size:14px;}
.rules-grid ul{margin:0;padding-left:18px;display:grid;gap:5px;}
.rules-grid li,.rules-grid dd{font-size:11px;line-height:1.5;color:#d6cbb9;}
.rules-grid dl{display:grid;grid-template-columns:82px 1fr;gap:5px 8px;margin:0;}
.rules-grid dt{font-size:11px;font-weight:900;color:#f1d6a6;}
.rules-grid dd{margin:0;}
.formation-start-btn.warn{background:linear-gradient(180deg,#6d241f,#39110f)!important;border-color:#b95d4e!important;color:#fff0e8!important;}
@media (max-width:850px){
  .rules-grid{grid-template-columns:1fr;}
  .rules-box{width:96vw!important;max-height:92vh!important;}
}


/* v64 UI 정렬, 규칙 가독성, 핸드 상태, 본진 턴 표시 */
/* 전투 메뉴에서 새로 하기와 기존 턴 박스는 사용하지 않는다. */
#restartBtn,.top-new,.turn-plate,.enemy-turn-badge{display:none!important;}
#leftMenuMount .reference-topbar{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  gap:6px!important;
  padding:6px!important;
}
#leftMenuMount .top-card-actions{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  width:100%!important;
}
#leftMenuMount .top-card-actions .btn{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  padding:6px 8px!important;
  font-size:12px!important;
  font-weight:900!important;
}
#leftMenuMount .faction-pickers{
  grid-column:1!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  width:100%!important;
}

/* 적군 본진은 아군 본진과 동일한 실제 폭을 사용한다. */
.reference-left .enemy-hq-host,
.reference-left .enemy-hq-mount,
.reference-left .enemy-hq-row,
.reference-left .enemy-hq-row .battle-hq{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* 아군 전략가 슬롯 아래 현재 턴 표시 */
#allyHq .hq-advisor-slot{
  top:calc(50% - 12px)!important;
  transform:translateY(-50%)!important;
}
.ally-hq-turn{
  position:absolute;
  right:10px;
  top:calc(50% + 66px);
  width:96px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid #8a6a3f;
  background:linear-gradient(180deg,#111820e8,#080c10e8);
  color:#dfceb0;
  font-size:10px;
  font-weight:900;
  box-sizing:border-box;
  z-index:12;
}
.ally-hq-turn b{font-size:13px;color:#ffe09d;line-height:1;}

/* 행동력이 충분한 핸드 카드 */
#hand.hand .card.affordable{
  border-color:#f7d77f!important;
  box-shadow:0 0 0 1px #fff1b9,0 0 13px #ffd56c88,inset 0 0 0 1px #6e501d!important;
}
#hand.hand .card.affordable:not(.selected)::after{
  content:'';
  position:absolute;
  inset:1px;
  border:1px solid #fff2ad66;
  pointer-events:none;
  z-index:15;
}

/* 덱 행동열 아래 내부 여백 제거, 외부 간격은 전투설정-본진 간격과 동일하게 6px */
.reference-right #rightFormationMount{margin-bottom:6px!important;}
.reference-right .right-panel-hq-row{margin-bottom:6px!important;}
.reference-right .right-deck-section{
  margin-bottom:6px!important;
  padding-bottom:0!important;
}
.reference-right .right-deck-body{
  padding-bottom:0!important;
  margin-bottom:0!important;
  align-items:stretch!important;
}
.reference-right .right-hand-section{margin-top:0!important;}
.reference-right #allyHandAlignSpacer{display:none!important;height:0!important;min-height:0!important;}

/* 핸드 카드 이미지와 공격/방어/체력 칸 사이의 세로 여백 제거 */
#hand.hand .card:not(.utility-card){
  grid-template-rows:20px minmax(0,1fr) 34px!important;
  row-gap:0!important;
}
#hand.hand .card .cimg{
  margin:0!important;
  padding:0!important;
  border-bottom:0!important;
}
#hand.hand .card .cstats{
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
}
#hand.hand .card-stat-grid{
  height:34px!important;
  min-height:34px!important;
  gap:2px!important;
  margin:0!important;
}
#hand.hand .card-stat-cell{
  height:34px!important;
  min-height:34px!important;
  padding:1px!important;
  box-sizing:border-box!important;
}

/* 규칙 확인 글자 크기 확대 */
.rules-box{width:min(1040px,95vw)!important;}
.rules-head h2{font-size:24px!important;}
.rules-head .small{font-size:13px!important;line-height:1.55!important;}
.rules-grid{gap:12px!important;}
.rules-grid section{padding:14px 16px!important;}
.rules-grid h3{font-size:17px!important;margin-bottom:10px!important;}
.rules-grid li,.rules-grid dd{
  font-size:14px!important;
  line-height:1.65!important;
}
.rules-grid dt{
  font-size:14px!important;
  line-height:1.55!important;
}
.rules-grid dl{grid-template-columns:104px 1fr!important;gap:7px 10px!important;}
.rules-grid ul{gap:7px!important;padding-left:20px!important;}

@media (max-width:850px){
  #allyHq .hq-advisor-slot{top:calc(50% - 11px)!important;}
  .ally-hq-turn{right:8px;top:calc(50% + 59px);width:86px;height:19px;font-size:9px;}
  .ally-hq-turn b{font-size:12px;}
  .rules-grid li,.rules-grid dd,.rules-grid dt{font-size:13px!important;}
  .rules-grid dl{grid-template-columns:88px 1fr!important;}
}


/* v65 상단 버튼, 턴 표시, 덱 상태, 버프 특능 가독성 */
/* 카드 상점과 카드 관리를 완전히 동일한 크기로 나란히 배치 */
.top-card-actions,
#leftMenuMount .top-card-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:38px!important;
  gap:7px!important;
  width:100%!important;
  align-items:stretch!important;
}
.top-card-actions #cardShopBtn,
.top-card-actions #cardManagerBtn,
#leftMenuMount .top-card-actions #cardShopBtn,
#leftMenuMount .top-card-actions #cardManagerBtn{
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
  min-height:38px!important;
  padding:6px 8px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}

/* 전략가 슬롯 아래에서 본진 하단까지 턴 박스가 자연스럽게 채워지도록 설정 */
.ally-hq-turn{
  right:10px!important;
  top:calc(50% + 64px)!important;
  bottom:8px!important;
  width:96px!important;
  height:auto!important;
  min-height:34px!important;
  padding:4px 5px!important;
  gap:8px!important;
  font-size:15px!important;
  line-height:1!important;
  border-color:#b28b50!important;
  background:linear-gradient(180deg,#17212ce8,#080d13f2)!important;
  box-shadow:inset 0 0 0 1px #0009,0 3px 10px #0009!important;
}
.ally-hq-turn span{font-size:15px!important;font-weight:950!important;color:#f2dfbd!important;}
.ally-hq-turn b{font-size:22px!important;font-weight:1000!important;color:#ffe28f!important;line-height:1!important;}

/* 아군 덱 상태는 아군 핸드 제목·카드 영역과 균형이 맞는 높이로 조정 */
.reference-right .right-deck-section{
  flex:0 0 108px!important;
  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;
}
.reference-right .right-deck-section>.ornate-title{
  flex:0 0 30px!important;
  height:30px!important;
  min-height:30px!important;
}
.reference-right .right-deck-body{
  flex:0 0 78px!important;
  height:78px!important;
  min-height:78px!important;
  max-height:78px!important;
  padding:6px!important;
  gap:6px!important;
  box-sizing:border-box!important;
}
.reference-right .right-deck-body .deck-info,
.reference-right .right-deck-body #shuffleBtn,
.reference-right .right-deck-body #endTurnBtn{
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.reference-right .right-hand-section>.ornate-title{
  height:30px!important;
  min-height:30px!important;
  flex-basis:30px!important;
}

/* 버프 제공 장수의 특능을 카드 위에서 선명하게 표시 */
.buff-provider-badge{
  position:absolute!important;
  left:4px!important;
  right:auto!important;
  bottom:24px!important;
  top:auto!important;
  z-index:12!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:1px!important;
  min-width:70px!important;
  padding:4px 6px!important;
  border:1px solid #7ff2dc!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,#0a5c52f2,#06362ff2)!important;
  color:#e8fffa!important;
  box-shadow:0 0 0 1px #001c18,0 0 12px #58e2d077!important;
  text-shadow:0 1px 3px #000!important;
}
.buff-provider-badge b{font-size:10px!important;line-height:1.05!important;color:#ffffff!important;}
.buff-provider-badge small{font-size:8px!important;line-height:1.05!important;color:#bfffee!important;white-space:nowrap!important;}
.hand-buff-provider-badge{
  position:absolute!important;
  left:4px!important;
  top:4px!important;
  z-index:14!important;
  display:flex!important;
  flex-direction:column!important;
  gap:1px!important;
  padding:3px 5px!important;
  border:1px solid #83f3de!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,#0b655af2,#063a33f2)!important;
  color:#effffb!important;
  box-shadow:0 0 10px #58e2d066!important;
  text-shadow:0 1px 3px #000!important;
}
.hand-buff-provider-badge b{font-size:9px!important;line-height:1!important;}
.hand-buff-provider-badge small{font-size:7px!important;line-height:1!important;color:#c5fff2!important;white-space:nowrap!important;}

/* 적용 중인 버프·약화 효과를 구체적인 수치와 이름으로 표시 */
.active-buff-badge{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:1px!important;
  max-width:calc(100% - 8px)!important;
  padding:3px 5px!important;
  border:1px solid #ffe08a!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,#7c5b13f2,#3f2b06f2)!important;
  color:#fff8d8!important;
  box-shadow:0 0 10px #ffd45d66!important;
  text-shadow:0 1px 3px #000!important;
}
.active-buff-badge.negative{
  border-color:#ff948d!important;
  background:linear-gradient(180deg,#742a26f2,#3b1210f2)!important;
  color:#ffe5e2!important;
  box-shadow:0 0 10px #ff706655!important;
}
.active-buff-badge b{font-size:9px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
.active-buff-badge small{font-size:7px!important;line-height:1!important;white-space:nowrap!important;}
.popup.buff-popup .popup-body,
.buff-popup .popup-body{font-size:14px!important;line-height:1.55!important;}

@media (max-width:850px){
  .ally-hq-turn{
    right:8px!important;
    top:calc(50% + 58px)!important;
    bottom:6px!important;
    width:86px!important;
    min-height:30px!important;
    font-size:13px!important;
  }
  .ally-hq-turn span{font-size:13px!important;}
  .ally-hq-turn b{font-size:19px!important;}
  .reference-right .right-deck-section{
    flex-basis:100px!important;
    height:100px!important;
    min-height:100px!important;
    max-height:100px!important;
  }
  .reference-right .right-deck-body{
    flex-basis:70px!important;
    height:70px!important;
    min-height:70px!important;
    max-height:70px!important;
  }
}


/* v66: 버프 표시 중앙 정렬, 핸드 페이지 제목 내 이동, 전투열 추가효과, 랜덤 덱 비율 */
.hand-buff-provider-badge{
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:5px!important;
  transform:translateX(-50%)!important;
  align-items:center!important;
  min-width:82px!important;
  padding:4px 7px!important;
  text-align:center!important;
}
.hand-buff-provider-badge b{font-size:11px!important;line-height:1.05!important;}
.hand-buff-provider-badge small{font-size:8px!important;line-height:1.05!important;}
.buff-provider-badge{
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:4px!important;
  transform:translateX(-50%)!important;
  align-items:center!important;
  min-width:82px!important;
  text-align:center!important;
}
.buff-provider-badge b{font-size:11px!important;}
.buff-provider-badge small{font-size:8px!important;}
.unit .active-buff-badge{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:4px!important;
  transform:translateX(-50%)!important;
  z-index:14!important;
  align-items:center!important;
  min-width:82px!important;
  max-width:calc(100% - 8px)!important;
  text-align:center!important;
}
.unit .active-buff-badge b{font-size:10px!important;}
.unit .active-buff-badge small{font-size:8px!important;}
.unit .active-buff-badge + .buff-provider-badge{bottom:34px!important;}

.hand-title-bar{padding:0 6px!important;}
.hand-title-paged{
  width:100%!important;
  display:grid!important;
  grid-template-columns:28px 1fr auto 28px!important;
  align-items:center!important;
  gap:5px!important;
}
.hand-title-label{text-align:center!important;font-size:13px!important;font-weight:900!important;}
.hand-title-page{font-size:10px!important;color:#ffe0a6!important;white-space:nowrap!important;}
.hand-title-arrow{
  width:26px!important;height:24px!important;min-height:24px!important;padding:0!important;
  border:1px solid #8d6738!important;background:#15100b!important;color:#ffe0a6!important;
  font-size:20px!important;line-height:20px!important;font-weight:950!important;cursor:pointer!important;
}
.hand-title-arrow:disabled{opacity:.3!important;cursor:default!important;}
.hand-title-arrow[hidden],.hand-title-page[hidden]{display:block!important;visibility:hidden!important;}

.lane .lane-synergy-tag{
  position:absolute!important;
  left:50%!important;
  top:5px!important;
  transform:translateX(-50%)!important;
  z-index:9!important;
  max-width:70%!important;
  padding:3px 8px!important;
  border:1px solid #76e9d5!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#0c5e55ef,#07352fef)!important;
  color:#eafffb!important;
  box-shadow:0 0 12px #61e1cf66!important;
  font-size:9px!important;
  line-height:1.1!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  pointer-events:none!important;
}
.lane.synergy-active{box-shadow:inset 0 0 0 1px #65dbc866,0 0 14px #48cbb52c!important;}

.deck-auto-ratio{
  display:grid!important;
  grid-template-columns:auto repeat(4,minmax(105px,1fr)) auto!important;
  align-items:center!important;
  gap:7px!important;
  margin:8px 0!important;
  padding:8px 10px!important;
  border:1px solid #66502f!important;
  background:#0b0f12!important;
  font-size:11px!important;
}
.deck-auto-ratio>b{color:#f0cf91!important;white-space:nowrap!important;}
.deck-auto-ratio label{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;white-space:nowrap!important;}
.deck-auto-ratio input{width:48px!important;height:28px!important;padding:2px 4px!important;text-align:center!important;}
.deck-auto-ratio>span{color:#b8aa91!important;font-size:10px!important;white-space:nowrap!important;}
@media(max-width:850px){
  .deck-auto-ratio{grid-template-columns:repeat(2,1fr)!important;}
  .deck-auto-ratio>b,.deck-auto-ratio>span{grid-column:1/-1!important;text-align:center!important;}
}


/* v67: 전장 안개, 함정, 정찰, 무력화, 임시 전투칸 */
.unit.fog-hidden{border-color:#46505c!important;box-shadow:0 3px 12px #000d,inset 0 0 22px #000!important;filter:saturate(.2)!important;}
.unit.fog-hidden .fog-uimg{background:#090d12!important;}
.enemy-shadow-art{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.8) contrast(1.15);}
.unit.fog-hidden .field-unit-name{color:#c1c8cf!important;letter-spacing:.04em;}
.unit.fog-hidden .stats span{color:#aab3bc!important;background:#10151a!important;}
.slot.trap-known{box-shadow:inset 0 0 0 2px #d88d42aa,0 0 14px #ff9c3f33!important;}
.trap-marker{position:absolute;left:5px;top:5px;z-index:28;padding:2px 6px;border:1px solid #ffbd73;border-radius:999px;background:#32180de8;color:#ffe3b8;font-size:8px;font-weight:950;pointer-events:none;box-shadow:0 0 10px #ff933f66;}
.slot.temporary-slot{border:2px dashed #66e5d5!important;background:repeating-linear-gradient(135deg,#0d3b3744 0 8px,#07191544 8px 16px)!important;box-shadow:inset 0 0 15px #5ee6d33b!important;}
.slot.temporary-slot::after{content:'임시 전투칸';position:absolute;right:4px;bottom:4px;z-index:5;padding:2px 4px;background:#062c28df;border:1px solid #62dbc9;color:#dffffa;font-size:7px;font-weight:900;pointer-events:none;}
.chain-overlay{position:absolute;inset:12% 3% 18%;z-index:32;display:grid;place-items:center;font-size:46px;line-height:1;color:#d4d8de;text-shadow:0 2px 8px #000,0 0 15px #a7b2c2;transform:rotate(-12deg);pointer-events:none;opacity:.95;}
.unit.chain-locked{position:relative;overflow:hidden;filter:grayscale(.44) brightness(.74)!important;box-shadow:inset 0 0 0 2px #a3acb8,inset 0 0 18px #e8edf633,0 0 16px #8690a077!important;}
.unit.chain-locked::before,.unit.chain-locked::after{content:'';position:absolute;inset:-10% -18%;z-index:31;pointer-events:none;opacity:.9;background-repeat:no-repeat;}
.unit.chain-locked::before{transform:rotate(-10deg);background:
  repeating-linear-gradient(135deg,transparent 0 13%,rgba(225,231,238,.0) 13% 14.5%,rgba(220,226,233,.92) 14.5% 17.5%,rgba(118,126,139,.96) 17.5% 20%,rgba(220,226,233,.92) 20% 23%,rgba(0,0,0,0) 23% 32%),
  linear-gradient(135deg,transparent 0 8%,rgba(255,255,255,.16) 8% 9%,transparent 9% 100%);}
.unit.chain-locked::after{transform:rotate(8deg);background:
  repeating-linear-gradient(45deg,transparent 0 15%,rgba(232,236,241,.0) 15% 16%,rgba(220,226,233,.9) 16% 19%,rgba(116,124,138,.95) 19% 21.5%,rgba(220,226,233,.9) 21.5% 24%,rgba(0,0,0,0) 24% 34%),
  linear-gradient(45deg,transparent 0 12%,rgba(255,255,255,.14) 12% 13%,transparent 13% 100%);}
.unit.chain-locked .uimg::before{content:'';position:absolute;inset:0;z-index:30;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.10),rgba(0,0,0,.16) 68%,rgba(0,0,0,.28));}
.unit.chain-locked .field-unit-name,.unit.chain-locked .field-grade,.unit.chain-locked .stats span{position:relative;z-index:33!important;}
.unit-scout-badge{position:absolute;right:4px;top:26px;z-index:20;padding:2px 5px;border:1px solid #7edcff;border-radius:999px;background:#083248e8;color:#dcf8ff;font-size:8px;font-weight:950;box-shadow:0 0 9px #55c8ff66;}
.fx-tactic.trap{background:radial-gradient(circle,#ffe5bacc 0 12%,#b95d2588 38%,transparent 72%);box-shadow:0 0 30px #ff843d;}
.fx-tactic.battleprep{background:radial-gradient(circle,#d6fff5cc 0 12%,#2ca58b88 38%,transparent 72%);box-shadow:0 0 30px #58e4c8;}
.fx-tactic.wind{background:radial-gradient(circle,#f5fbffcc 0 10%,#72c8e388 36%,transparent 74%);box-shadow:0 0 34px #8de6ff;animation:fxWindBurst 1.05s ease-out forwards;}
@keyframes fxWindBurst{0%{opacity:0;transform:translate(-70%,-50%) scale(.4) rotate(-35deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(10deg)}70%{opacity:1;transform:translate(-25%,-50%) scale(1) rotate(35deg)}100%{opacity:0;transform:translate(10%,-50%) scale(1.5) rotate(80deg)}}

/* v67 임시 전투칸 5~6칸 배열 */
.battlefield-layout .slots.n5{width:100%!important;max-width:none!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;}
.battlefield-layout .slots.n6{width:100%!important;max-width:none!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;}
@media(max-width:850px){.battlefield-layout .slots.n5,.battlefield-layout .slots.n6{width:max-content!important;grid-template-columns:repeat(5,82px)!important;}.battlefield-layout .slots.n6{grid-template-columns:repeat(6,76px)!important;}}


/* v69 저체력 본진 경고 */
.battle-hq,.hq{isolation:isolate;}
.battle-hq.low-energy::after,.hq.low-energy::after{content:'';position:absolute;inset:0;z-index:65;pointer-events:none;background:rgba(175,28,28,.16);box-shadow:inset 0 0 34px rgba(255,72,72,.28);animation:hqLowEnergyPulse 1.25s ease-in-out infinite alternate;}
@keyframes hqLowEnergyPulse{from{opacity:.48}to{opacity:.9}}

/* v69 핸드 장수 버프 배지: 하단 행동력/능력치 영역을 가리지 않도록 상단 이동 */
.hand-buff-provider-badge{left:6px!important;right:auto!important;top:28px!important;bottom:auto!important;transform:none!important;min-width:74px!important;max-width:calc(100% - 12px)!important;padding:3px 6px!important;z-index:24!important;}

/* v69 카드 관리자 본진 연출 표시 영역 */
.event-image-layout{display:grid;grid-template-columns:1fr;gap:5px;margin:7px 0 2px;padding:7px;border:1px solid #34475d;background:#090f18;}
.event-image-layout label{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:6px;font-size:9px;color:#c9d7e7;}
.event-image-layout input[type=range]{width:100%;}
.event-image-layout output{font-size:9px;color:#f0d6a3;text-align:center;}
.event-image-preview img{transform:scale(var(--scene-preview-scale,1));transform-origin:center;}

/* v69 전투 메뉴·설정·덱 조작부 높이 통일 */
:root{--battle-control-height:42px;}
.reference-right .right-deck-body .deck-info,.reference-right .right-deck-body #shuffleBtn,.reference-right .right-deck-body #endTurnBtn,.formation-inline select,.formation-inline .formation-start-btn,.formation-inline .formation-deck-btn,.left-menu-dock button{height:var(--battle-control-height)!important;min-height:var(--battle-control-height)!important;max-height:var(--battle-control-height)!important;box-sizing:border-box!important;}
.reference-right .right-deck-body{min-height:calc(var(--battle-control-height) + 12px)!important;}


/* v70 대상 없는 스킬: 더블클릭 또는 전장 드래그 발동 */
#hand.hand .card.instant-tactic-card{cursor:grab;}
#hand.hand .card.instant-tactic-card:active{cursor:grabbing;}
#hand.hand .card.instant-tactic-card.dragging-tactic{opacity:.48;transform:scale(.96);}
.battlefield-layout>.board.tactic-drop-ready{
  position:relative;
  outline:3px solid #c79cff!important;
  outline-offset:-4px;
  box-shadow:inset 0 0 34px #8e5eff55,0 0 20px #8e5eff55!important;
}
.battlefield-layout>.board.tactic-drop-ready::after{
  content:'스킬카드를 놓아 즉시 발동';
  position:absolute;
  inset:10px;
  z-index:90;
  display:grid;
  place-items:center;
  border:2px dashed #e1cfff;
  background:#25153dcc;
  color:#f5edff;
  font-size:18px;
  font-weight:950;
  letter-spacing:.04em;
  text-shadow:0 2px 6px #000;
  pointer-events:none;
}


/* v74 카드 관리자 배치 재정렬: 프리셋 가로 1줄 / 연출 3열 / 본진 국가 이미지 3열 */
.batch-image-preset-grid{grid-template-columns:1fr!important;gap:6px!important;}
.batch-image-preset-slot{
  display:grid!important;
  grid-template-columns:160px minmax(220px,1fr) 138px!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px 10px!important;
}
.batch-image-preset-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;}
.batch-image-preset-head b{white-space:nowrap!important;}
.batch-image-preset-fields{grid-template-columns:repeat(3,minmax(72px,1fr))!important;gap:8px!important;align-items:end!important;}
.batch-image-preset-fields label{gap:3px!important;}
.batch-image-preset-slot>.btn{width:100%!important;}
.batch-image-type-select{justify-content:flex-start!important;}

.event-image-manager{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:8px!important;
  padding:10px!important;
  border:1px solid #5f472d!important;
  background:#0a0d0f!important;
  align-items:start!important;
}
.event-image-manager>.image-adjust-title,
.event-image-manager>.event-image-note{grid-column:1/-1!important;}
.event-image-setting{display:grid!important;gap:6px!important;min-width:0!important;padding:8px!important;border:1px solid #6b4f31!important;background:linear-gradient(180deg,#12100d,#0a0c0e)!important;}
.event-image-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;flex-wrap:wrap!important;}
.event-image-head span{font-size:9px!important;color:#cdb999!important;}
.event-image-preview{height:132px!important;}

.hq-image-manager{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:8px!important;
  padding:10px!important;
  border:1px solid #5f472d!important;
  background:#0a0d0f!important;
  align-items:start!important;
}
.hq-image-manager>.image-adjust-title{grid-column:1/-1!important;}
.hq-image-setting{padding:8px!important;border:1px solid #6b4f31!important;background:linear-gradient(180deg,#12100d,#0a0c0e)!important;}
.hq-image-preview{height:88px!important;}

@media(max-width:1200px){
  .batch-image-preset-slot{grid-template-columns:1fr!important;}
  .batch-image-preset-head,.batch-image-preset-fields{width:100%!important;}
}
@media(max-width:1050px){
  .event-image-manager,.hq-image-manager{grid-template-columns:1fr!important;}
}


/* v75 카드 관리자 헤더 및 기타이미지 분리 */
.manager-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.manager-head-actions .btn{min-width:92px;}
.other-image-box{width:min(92vw,760px)!important;max-width:760px!important;padding:14px!important;}
.other-image-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}
.other-image-head h2{margin:0;}
.other-image-head .small{margin-top:4px;}
#otherImageModal .default-card-image-manager{display:grid!important;gap:8px!important;padding:10px!important;border:1px solid #536176!important;background:#0b1118!important;}
#otherImageModal .default-image-preview{height:180px!important;}

/* v75 프리셋 행형 배치 단순화 */
.batch-image-preset-panel{gap:8px!important;}
.batch-image-preset-grid{grid-template-columns:1fr!important;gap:6px!important;}
.batch-image-preset-slot{grid-template-columns:118px minmax(240px,1fr) 132px!important;gap:6px!important;padding:7px 9px!important;align-items:center!important;}
.batch-image-preset-head{gap:6px!important;}
.batch-image-preset-head .btn,.batch-image-preset-slot>.btn{min-height:24px!important;font-size:9px!important;}
.batch-image-preset-fields{grid-template-columns:repeat(3,minmax(68px,1fr))!important;gap:6px!important;}
.batch-image-preset-fields label{font-size:9px!important;}
.batch-image-preset-fields input{padding:3px 5px!important;}
.batch-image-preset-note{font-size:9px!important;}

/* v75 연출/본진 이미지 가로 정렬 유지 */
.event-image-manager{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-items:start!important;}
.event-image-manager>.image-adjust-title,.event-image-manager>.event-image-note{grid-column:1/-1!important;}
.event-image-setting{display:grid!important;gap:6px!important;}
.event-image-preview{height:126px!important;}
.hq-image-manager{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-items:start!important;}
.hq-image-manager>.image-adjust-title{grid-column:1/-1!important;}
.hq-image-preview{height:88px!important;}

@media(max-width:1200px){.batch-image-preset-slot{grid-template-columns:1fr!important;}}
@media(max-width:1050px){.event-image-manager,.hq-image-manager{grid-template-columns:1fr!important;}}
@media(max-width:760px){.other-image-head{flex-direction:column;align-items:stretch;}.manager-head-actions{width:100%;justify-content:flex-end;}}


/* v76 카드 능력 및 설명 아래로 이미지 설정 영역 이동 */
.manager-inline-image-zone{display:grid;gap:10px;margin-top:10px;min-width:0;}
.manager-inline-image-zone .batch-image-preset-panel,
.manager-inline-image-zone .event-image-manager,
.manager-inline-image-zone .hq-image-manager{margin-top:0!important;}
.manager-inline-image-zone .batch-image-preset-panel{order:1;}
.manager-inline-image-zone .event-image-manager{order:2;}
.manager-inline-image-zone .hq-image-manager{order:3;}
.manager-preview-wrap{align-self:start;}
.manager-grid>div:last-child{min-width:0;}
@media(max-width:1050px){.manager-inline-image-zone{margin-top:8px;}}


/* v77 이미지 일괄설정 한 줄 배치 */
.manager-inline-image-zone .batch-image-preset-panel{display:grid;gap:6px!important;padding:8px 10px!important;}
.manager-inline-image-zone .batch-image-preset-panel .image-adjust-title{font-size:12px!important;margin-bottom:2px!important;}
.manager-inline-image-zone .batch-image-preset-grid.compact{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;}
.manager-inline-image-zone .batch-image-preset-row{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding:6px 8px!important;border:1px solid #6c4d2b;background:linear-gradient(180deg,#12100d,#0a0c0e)!important;}
.manager-inline-image-zone .batch-image-preset-row-label{font-size:11px;font-weight:900;color:#efcf95;min-width:42px;}
.manager-inline-image-zone .batch-check{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#e0d3bf;white-space:nowrap;}
.manager-inline-image-zone .batch-check input{accent-color:#c69b55;}
.manager-inline-image-zone .batch-mini-field{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#d5c7b2;white-space:nowrap;}
.manager-inline-image-zone .batch-mini-field input{width:54px!important;min-width:54px!important;max-width:54px!important;padding:3px 4px!important;text-align:center!important;background:#0b0d0f;border:1px solid #745734;color:#f4e1b8;}
.manager-inline-image-zone .batch-image-preset-row .btn{min-height:24px!important;font-size:9px!important;padding:4px 8px!important;white-space:nowrap;}
@media(max-width:1200px){.manager-inline-image-zone .batch-image-preset-row{gap:6px!important;}}


/* v78 · image settings navigation split */
.other-image-box{width:min(94vw,1080px)!important;max-width:1080px!important;max-height:92vh;overflow:auto;}
.other-image-content{display:grid;gap:14px;min-width:0;}
.other-image-content .hq-image-manager{margin-top:0!important;}
.batch-settings-box{width:min(96vw,1240px)!important;max-width:1240px!important;max-height:94vh;overflow:auto;padding:14px!important;}
.batch-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid #5f472d;}
.batch-settings-head h2{margin:0 0 4px;}
.batch-current-card{margin:10px 0;padding:8px 10px;border:1px solid #7a5a34;background:linear-gradient(180deg,#18130d,#0d0f11);color:#f1d49b;font-size:12px;font-weight:800;}
.batch-current-card.empty{color:#b7aa95;}
.batch-settings-content{display:grid;gap:14px;}
.batch-settings-section{display:grid;gap:10px;padding:10px;border:1px solid #4f4131;background:#080a0c;min-width:0;}
.batch-section-head>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.batch-section-head b{font-size:14px;color:#f1d49b;}
.batch-section-head span{font-size:10px;color:#b6aa97;}
.batch-settings-section .batch-image-preset-panel{margin:0!important;}
.batch-settings-section .batch-image-preset-grid.compact{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;}
.batch-settings-section .batch-image-preset-row{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding:7px 8px!important;border:1px solid #6c4d2b;background:linear-gradient(180deg,#12100d,#0a0c0e)!important;}
.batch-settings-section .batch-image-preset-row-label{font-size:11px;font-weight:900;color:#efcf95;min-width:42px;}
.batch-settings-section .batch-check{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#e0d3bf;white-space:nowrap;}
.batch-settings-section .batch-check input{accent-color:#c69b55;}
.batch-settings-section .batch-mini-field{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#d5c7b2;white-space:nowrap;}
.batch-settings-section .batch-mini-field input{width:58px!important;min-width:58px!important;max-width:58px!important;padding:4px!important;text-align:center!important;background:#0b0d0f;border:1px solid #745734;color:#f4e1b8;}
.batch-settings-section .event-image-manager{margin:0!important;}
.batch-scene-actions{display:flex;justify-content:flex-end;padding-top:2px;}
@media(max-width:760px){
  .batch-settings-head{flex-direction:column;align-items:stretch;}
  .batch-settings-head>.btn{align-self:flex-end;}
  .batch-settings-section{padding:8px;}
}


/* v79 · 이미지 설정 화면 전환 안정화 */
#otherImageModal,#batchSettingsModal{z-index:90!important;}
#otherImageModal.show,#batchSettingsModal.show{display:flex!important;pointer-events:auto!important;}
#otherImageModal .modalbox,#batchSettingsModal .modalbox{position:relative;z-index:1;}
#openOtherImagesBtn,#openBatchSettingsBtn{position:relative;z-index:2;pointer-events:auto!important;cursor:pointer;}


/* v80 · 본진 연출 실제 크기 미리보기 */
.scene-stage-preview-panel{display:grid;gap:8px;padding:10px;border:1px solid #5f472d;background:linear-gradient(180deg,#12100d,#0a0c0e);margin-bottom:10px;}
.scene-stage-preview-wrap{display:flex;justify-content:center;align-items:center;padding:4px 0 8px;}
.scene-stage-preview.hq{width:var(--stage-hq-width,320px)!important;max-width:100%;height:var(--stage-hq-height,170px)!important;min-height:var(--stage-hq-height,170px)!important;position:relative;overflow:hidden;}
.scene-stage-preview .hq-unit-slot{display:flex!important;right:10px;bottom:8px;width:140px;height:42px;z-index:6;color:#d4dbeb;font-size:10px;}
.scene-stage-preview .hq-unit-slot span{padding:0 6px;text-align:center;}
.scene-stage-preview .hq-title{z-index:6;}
.scene-stage-preview .hq-subtitle{z-index:6;}
.event-image-preview-actions{display:flex;gap:6px;flex-wrap:wrap;margin:-1px 0 6px;}
.event-image-preview-actions .btn{flex:1 1 120px;min-height:28px!important;font-size:10px!important;padding:5px 8px!important;}
.hq-card-scene.preview-static .scene-energy,.hq-card-scene.preview-static::before,.hq-card-scene.preview-static::after{opacity:.2!important;animation:none!important;}
.hq-card-scene.preview-static img{animation:none!important;transform:scale(var(--scene-scale,1))!important;opacity:1!important;filter:saturate(1.05) contrast(1.03)!important;}
@media(max-width:760px){.scene-stage-preview.hq{max-width:100%;}.event-image-preview-actions .btn{flex:1 1 100%;}}


/* v81 · 설정/실전 본진 연출 완전 동기화 */
.scene-stage-preview .hq-card-scene{inset:0!important;}
.scene-stage-preview .hq-card-scene img{object-position:var(--scene-x,50%) var(--scene-y,50%)!important;transform-origin:var(--scene-x,50%) var(--scene-y,50%)!important;}


/* v82 · 카드 위치/본진 연출 프리셋 동기화 */
.batch-scene-preset-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;padding-top:4px;border-top:1px solid #3f3121;}
.batch-scene-preset-actions>span{margin-right:auto;font-size:10px;color:#cdbb9e;}
.batch-scene-preset-actions .btn{min-height:28px!important;font-size:10px!important;padding:5px 9px!important;}
@media(max-width:760px){.batch-scene-preset-actions>span{flex:1 1 100%;}.batch-scene-preset-actions .btn{flex:1 1 30%;}}


/* v83: 본진 5칸 전투필드 */
.hq-battlefield-grid{display:grid!important;grid-template-columns:repeat(5,minmax(54px,1fr));gap:6px;width:min(100%,620px)!important;min-height:100px!important;padding:8px!important;background:rgba(10,15,22,.82);border:1px solid rgba(223,183,102,.55);border-radius:12px;overflow:visible!important}
.hq-battlefield-grid.inactive{opacity:.28;pointer-events:none}.hq-battlefield-grid.active{opacity:1;box-shadow:0 0 22px rgba(255,177,54,.24)}
.hq-field-slot{position:relative;min-height:88px;border:1px dashed rgba(238,203,126,.42);border-radius:8px;display:flex;align-items:stretch;justify-content:center;background:rgba(255,255,255,.035);overflow:hidden}.hq-field-slot.empty>span{margin:auto;font-weight:900;color:#bda66f}.hq-field-slot.empty:hover{background:rgba(255,190,75,.14);border-color:#ffd16e}.hq-field-slot .base-unit{width:100%;height:100%;padding:3px;display:grid;grid-template-rows:1fr auto;cursor:pointer}.hq-field-slot .base-unit-art{min-height:58px}.hq-field-slot .base-unit-mini{font-size:9px;line-height:1.2;display:grid;gap:2px;background:rgba(0,0,0,.62);padding:3px}.hq-field-slot .base-unit-mini span{white-space:nowrap;font-size:8px}.hq.emergency .hq-battlefield-grid{animation:hqFieldPulse 1.1s ease-out 1}@keyframes hqFieldPulse{0%{transform:scale(.94);filter:brightness(1.7)}100%{transform:scale(1);filter:brightness(1)}}
/* 전투준비 임시 칸은 일반 칸과 명확히 구분 */
.slot.temporary-slot{background:linear-gradient(145deg,rgba(44,120,164,.55),rgba(33,71,113,.72))!important;border:2px solid #78d9ff!important;box-shadow:inset 0 0 14px rgba(105,217,255,.25),0 0 10px rgba(105,217,255,.22)!important}.slot.temporary-slot::after{content:'전투준비';position:absolute;right:3px;bottom:2px;font-size:8px;font-weight:900;color:#bfeeff;background:rgba(0,24,43,.72);padding:1px 4px;border-radius:4px}
/* 덱 편집 카드 확대 및 상세 정보 */
.deck-builder-toolbar{flex-wrap:wrap}.deck-builder-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;align-content:start}.deck-builder-visual-card{min-height:330px!important;padding:8px!important;display:grid!important;grid-template-rows:auto 178px auto auto auto!important;gap:6px;background:linear-gradient(180deg,rgba(24,28,35,.98),rgba(9,12,17,.98));border-radius:10px}.deck-builder-visual-card .collection-card-art{height:178px!important}.collection-five-stats{display:block;text-align:center;font-size:13px;font-weight:900;letter-spacing:.04em;padding:5px;border-radius:6px;background:rgba(231,197,124,.1);color:#ffe0a0}.collection-extra{display:block;min-height:34px;font-size:10px;line-height:1.35;color:#d8d0c1;overflow:hidden}.deck-card-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.deck-card-controls button{border:1px solid #755f39;background:#1b2027;color:#f5deb0;border-radius:6px;padding:5px 7px;font-size:10px;cursor:pointer}.deck-card-controls button:disabled{opacity:.35;cursor:not-allowed}.deck-add-card{margin-left:auto!important;background:#6f4a13!important}.deck-builder-owned button{width:24px;height:24px;padding:0}.deck-builder-owned em{width:28px!important;height:24px!important}.deck-builder-list.selected .deck-builder-visual-card{min-height:310px!important}
.card-image-zoom-box{width:min(820px,96vw)!important}.card-image-zoom-scroll{max-height:82vh;overflow:auto}.card-image-zoom-visual{max-width:none!important}.card-zoom-layout{display:grid;grid-template-columns:minmax(250px,42%) 1fr;gap:22px;padding:16px}.card-zoom-art{min-height:430px;border-radius:12px;overflow:hidden;background:#0d1118}.card-zoom-art img,.card-zoom-art .card-art-img{width:100%;height:100%;object-fit:cover}.card-zoom-info{display:flex;flex-direction:column;gap:12px;color:#efe7d6}.card-zoom-info h3{font-size:26px;margin:0}.card-zoom-info h3 em{font-style:normal;font-size:16px}.card-zoom-info p{margin:0;color:#cdbf9e}.card-zoom-stats{font-size:19px;font-weight:900;letter-spacing:.06em;padding:12px;background:rgba(230,188,96,.12);border:1px solid rgba(230,188,96,.28);border-radius:9px}.card-zoom-skill{display:grid;gap:7px;padding:13px;background:rgba(79,116,165,.13);border-radius:9px}.card-zoom-skill span,.card-zoom-description{font-size:14px;line-height:1.6}.zoomable-card-name.cimg,.zoomable-card-name.uimg,.zoomable-card-name.base-unit-art{cursor:zoom-in}
@media(max-width:760px){.hq-battlefield-grid{grid-template-columns:repeat(5,minmax(42px,1fr));gap:3px;padding:4px!important}.hq-field-slot{min-height:72px}.card-zoom-layout{grid-template-columns:1fr}.card-zoom-art{min-height:340px}.deck-builder-list{grid-template-columns:repeat(2,minmax(145px,1fr))!important}.deck-builder-visual-card{min-height:300px!important;grid-template-rows:auto 145px auto auto auto!important}.deck-builder-visual-card .collection-card-art{height:145px!important}}


/* ================================================================
   v84 — 덱 구성 1줄 도구막대 / 3열 카드 / 클릭식 추가·제거 / 상점 정보 재배치
   ================================================================ */
.deck-builder-box{width:min(1260px,98vw)!important;}
.deck-builder-toolbar{
  display:grid!important;
  grid-template-columns:92px 98px 94px 78px 88px minmax(150px,1fr) 88px 116px!important;
  gap:6px!important;
  align-items:end!important;
  flex-wrap:nowrap!important;
}
.deck-builder-toolbar>*{min-width:0!important;}
.deck-builder-toolbar label{min-width:0!important;}
.deck-builder-toolbar select,.deck-builder-toolbar input{width:100%!important;min-width:0!important;padding-left:6px!important;padding-right:6px!important;}
.deck-builder-count,.deck-builder-score{
  min-width:0!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0 5px!important;
  white-space:nowrap!important;
}
.deck-builder-count>span,.deck-builder-score>span{font-size:9px;font-weight:800;color:#cdbb9e;}
.deck-builder-count b,.deck-builder-score b{margin:0!important;font-size:18px!important;line-height:1!important;}
.deck-builder-count small,.deck-builder-score small{font-size:10px;color:#b9c1ca;}
.deck-builder-main{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)!important;}
.deck-builder-list{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:max-content!important;
  align-items:start!important;
  align-content:start!important;
  gap:8px!important;
  padding:8px!important;
}
.deck-builder-list.selected{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.deck-builder-visual-card{
  width:100%!important;
  height:auto!important;
  min-height:310px!important;
  max-height:none!important;
  align-self:start!important;
  box-sizing:border-box!important;
  grid-template-rows:auto 154px auto minmax(34px,auto) auto auto!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.deck-builder-visual-card .collection-card-art{height:154px!important;min-height:154px!important;}
.deck-builder-visual-card .collection-five-stats{font-size:12px!important;padding:5px 3px!important;}
.deck-builder-visual-card .collection-extra{min-height:34px!important;max-height:44px!important;line-height:1.35!important;}
.deck-builder-visual-card .collection-card-foot{min-height:36px!important;padding:4px 5px!important;align-items:center!important;}
.deck-builder-visual-card .collection-card-foot small{white-space:normal!important;line-height:1.25!important;font-size:8px!important;}
.deck-builder-visual-card.selected:hover{border-color:#d6a55f!important;background:#21170e!important;}
.deck-card-controls{margin-top:auto!important;}

/* 카드 상점: 이름 영역에 국가·종류·점수 배치, 기존 하단 정보칸 제거 */
.card-shop-grid{
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;
  grid-auto-rows:auto!important;
  align-items:start!important;
  gap:10px!important;
}
.card-shop-grid .shop-card{
  width:100%!important;
  height:270px!important;
  min-width:0!important;
  min-height:270px!important;
  max-width:none!important;
  max-height:none!important;
  grid-template-rows:46px minmax(0,1fr) 31px 36px!important;
  box-sizing:border-box!important;
}
.card-shop-grid .shop-card-title{min-height:46px!important;padding:4px 5px!important;}
.shop-card-heading{min-width:0;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;line-height:1.1;}
.shop-card-heading b{flex:0 1 auto;max-width:100%;font-size:11px!important;}
.shop-card-heading small{min-width:0;font-size:7px;color:#ceb98f;white-space:normal;line-height:1.25;}
.card-shop-grid .shop-card-title>em{align-self:start;}
.card-shop-grid .collection-card-art{height:auto!important;min-height:0!important;}
.card-shop-grid .collection-five-stats{font-size:12px!important;padding:5px 3px!important;}
.card-shop-grid .collection-extra{min-height:36px!important;max-height:36px!important;padding:4px 5px!important;font-size:9px!important;line-height:1.35!important;}
.card-shop-grid .collection-card-foot{display:none!important;}

@media(max-width:1050px){
  .deck-builder-toolbar{grid-template-columns:86px 90px 86px 72px 82px minmax(130px,1fr) 82px 106px!important;gap:4px!important;}
  .deck-builder-toolbar select,.deck-builder-toolbar input{font-size:10px!important;}
  .deck-builder-list.selected{grid-template-columns:1fr!important;}
}
@media(max-width:850px){
  .deck-builder-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .deck-builder-main{grid-template-columns:1fr!important;}
  .deck-builder-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .deck-builder-list.selected{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .deck-builder-visual-card{min-height:290px!important;grid-template-rows:auto 138px auto minmax(34px,auto) auto auto!important;}
  .deck-builder-visual-card .collection-card-art{height:138px!important;min-height:138px!important;}
  .card-shop-grid{grid-template-columns:repeat(2,minmax(130px,1fr))!important;}
}

/* v84.1: 카드 종류별로 능력치 행이 없는 경우에도 정보 행이 밀리지 않도록 고정 */
.deck-builder-visual-card{grid-template-rows:auto 154px auto auto auto auto!important;}
.deck-builder-visual-card>.collection-card-title{grid-row:1;}
.deck-builder-visual-card>.collection-card-art{grid-row:2;}
.deck-builder-visual-card>.collection-five-stats{grid-row:3;}
.deck-builder-visual-card>.collection-extra{grid-row:4;}
.deck-builder-visual-card>.collection-card-foot{grid-row:5;}
.deck-builder-visual-card>.deck-card-controls{grid-row:6;}
.card-shop-grid .shop-card{grid-template-rows:46px minmax(0,1fr) auto auto!important;}
.card-shop-grid .shop-card>.collection-card-title{grid-row:1;}
.card-shop-grid .shop-card>.collection-card-art{grid-row:2;}
.card-shop-grid .shop-card>.collection-five-stats{grid-row:3;min-height:31px;box-sizing:border-box;}
.card-shop-grid .shop-card>.collection-extra{grid-row:4;min-height:36px!important;box-sizing:border-box;}
@media(max-width:850px){
  .deck-builder-visual-card{grid-template-rows:auto 138px auto auto auto auto!important;}
}

/* ================================================================
   v85 — 덱 편집·카드 상점 표시 통일 / 이름 클릭 전용 확대
   ================================================================ */
.collection-card-title{
  min-height:50px!important;
  padding:5px 6px!important;
  align-items:start!important;
}
.collection-card-heading{
  min-width:0;
  display:flex;
  align-items:baseline;
  align-content:flex-start;
  column-gap:6px;
  row-gap:2px;
  flex-wrap:wrap;
  line-height:1.18;
}
.collection-card-heading .collection-card-name{
  flex:0 1 auto;
  max-width:100%;
  font-size:13px!important;
  line-height:1.2!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.collection-card-heading small{
  min-width:0;
  font-size:9px!important;
  font-weight:800;
  color:#d8c39b;
  white-space:normal;
  line-height:1.25;
}
.collection-card-name.zoomable-card-name{cursor:zoom-in;text-decoration:underline dotted rgba(255,225,166,.45);text-underline-offset:3px;}

.deck-builder-visual-card{
  min-height:326px!important;
  grid-template-rows:50px 160px auto minmax(48px,auto) auto!important;
}
.deck-builder-visual-card>.collection-card-title{grid-row:1!important;}
.deck-builder-visual-card>.collection-card-art{grid-row:2!important;height:160px!important;min-height:160px!important;}
.deck-builder-visual-card>.collection-five-stats{grid-row:3!important;}
.deck-builder-visual-card>.collection-extra{grid-row:4!important;}
.deck-builder-visual-card>.deck-card-controls{grid-row:5!important;}
.deck-builder-visual-card>.collection-card-foot{display:none!important;}
.deck-builder-visual-card .collection-five-stats{
  min-height:36px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:6px 5px!important;
  font-size:11px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.deck-builder-visual-card .collection-extra{
  min-height:48px!important;
  max-height:66px!important;
  padding:7px 7px!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.42!important;
  overflow:auto!important;
}
.deck-card-controls{min-height:30px!important;}
.deck-builder-list.selected .deck-builder-visual-card{min-height:326px!important;}

.card-shop-box{width:min(1260px,98vw)!important;}
.card-shop-toolbar{
  display:grid!important;
  grid-template-columns:110px 100px 82px 92px minmax(170px,1fr) 86px!important;
  gap:6px!important;
  align-items:end!important;
}
.card-shop-toolbar>*{min-width:0!important;}
.card-shop-toolbar label{min-width:0!important;}
.card-shop-toolbar select,.card-shop-toolbar input{width:100%!important;min-width:0!important;}
.card-shop-count{
  min-width:0!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0 6px!important;
  white-space:nowrap!important;
}
.card-shop-count span,.card-shop-count small{font-size:9px;color:#cdbb9e;}
.card-shop-count b{font-size:18px!important;line-height:1!important;}
.card-shop-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:max-content!important;
  align-items:start!important;
  align-content:start!important;
  gap:8px!important;
  padding:8px!important;
}
.card-shop-grid .shop-card{
  width:100%!important;
  height:auto!important;
  min-height:292px!important;
  display:grid!important;
  grid-template-rows:50px 160px auto minmax(48px,auto)!important;
  overflow:hidden!important;
  cursor:default!important;
  box-sizing:border-box!important;
}
.card-shop-grid .shop-card>.collection-card-title{grid-row:1!important;}
.card-shop-grid .shop-card>.collection-card-art{grid-row:2!important;height:160px!important;min-height:160px!important;}
.card-shop-grid .shop-card>.collection-five-stats{grid-row:3!important;}
.card-shop-grid .shop-card>.collection-extra{grid-row:4!important;}
.card-shop-grid .collection-five-stats{
  min-height:36px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:6px 5px!important;
  font-size:11px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.card-shop-grid .collection-extra{
  min-height:48px!important;
  max-height:66px!important;
  padding:7px 7px!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.42!important;
  overflow:auto!important;
}

/* 전투 카드 본문은 선택·소환에 사용하며, 이름만 확대한다. */
.card .cimg,.base-unit-art{cursor:pointer!important;}
.card .card-name-text.zoomable-card-name,.field-unit-name.zoomable-card-name,.base-unit-name-click.zoomable-card-name,.advisor-name-click.zoomable-card-name,.advisor-hand-name-click.zoomable-card-name{cursor:zoom-in!important;}

@media(max-width:1050px){
  .card-shop-toolbar{grid-template-columns:100px 92px 76px 84px minmax(140px,1fr) 78px!important;gap:4px!important;}
  .card-shop-toolbar select,.card-shop-toolbar input{font-size:10px!important;}
}
@media(max-width:850px){
  .card-shop-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .card-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .deck-builder-visual-card{grid-template-rows:50px 142px auto minmax(48px,auto) auto!important;}
  .deck-builder-visual-card>.collection-card-art{height:142px!important;min-height:142px!important;}
  .card-shop-grid .shop-card{grid-template-rows:50px 142px auto minmax(48px,auto)!important;}
  .card-shop-grid .shop-card>.collection-card-art{height:142px!important;min-height:142px!important;}
}
@media(max-width:560px){
  .card-shop-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .deck-builder-list,.deck-builder-list.selected,.card-shop-grid{grid-template-columns:1fr!important;}
}


/* ================================================================
   v86 — 핸드 카드 비율 통일 / 더블클릭 덱 편집 / 이미지 설정 동기화
   ================================================================ */
.auto-point-rule-form{grid-template-columns:minmax(220px,360px)!important;justify-content:center!important;}
.deck-builder-list,.deck-builder-list.selected,.card-shop-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:max-content!important;
  align-items:start!important;
  align-content:start!important;
  gap:7px!important;
  padding:7px!important;
}
.deck-builder-visual-card,.card-shop-grid .shop-card{
  position:relative!important;
  width:100%!important;
  height:214px!important;
  min-height:214px!important;
  max-height:214px!important;
  padding:0!important;
  display:grid!important;
  grid-template-rows:22px 118px 34px 40px!important;
  gap:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,#151719,#0b0d0f)!important;
  cursor:default!important;
}
.deck-builder-visual-card>.collection-card-title,.card-shop-grid .shop-card>.collection-card-title{
  grid-row:1!important;
  min-height:22px!important;
  height:22px!important;
  padding:2px 4px!important;
  align-items:center!important;
  background:linear-gradient(180deg,#3d2a1f,#1c1511)!important;
  border-bottom:1px solid #7f6039!important;
}
.collection-card-heading{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;overflow:hidden!important;}
.collection-card-heading .collection-card-name{font-size:10px!important;line-height:1!important;max-width:48%!important;}
.collection-card-heading small{font-size:7px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.collection-card-title>em{font-size:8px!important;padding:1px 3px!important;align-self:center!important;}
.deck-builder-visual-card>.collection-card-art,.card-shop-grid .shop-card>.collection-card-art{
  grid-row:2!important;
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#15120f!important;
}
.collection-card-art .card-art-img,.collection-card-art .configured-default-art,.collection-card-art .auto-folder-art{
  width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:var(--img-x,50%) var(--img-y,50%)!important;
  transform:scale(var(--img-scale,1))!important;
  transform-origin:var(--img-x,50%) var(--img-y,50%)!important;
}
.collection-card-icons{right:4px!important;bottom:4px!important;gap:3px!important;}
.collection-card-icons span{font-size:8px!important;padding:2px 4px!important;}
.deck-builder-visual-card>.collection-five-stats,.card-shop-grid .shop-card>.collection-five-stats{
  grid-row:3!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:2px 3px!important;
  margin:0!important;
  border-radius:0!important;
  font-size:9px!important;
  font-weight:950!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#131619,#0d1012)!important;
  border-top:1px solid #374450!important;
  border-bottom:1px solid #374450!important;
}
.collection-five-stats.item-bonus-stats{color:#fff0ae!important;}
.deck-builder-visual-card>.collection-extra,.card-shop-grid .shop-card>.collection-extra{
  grid-row:4!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:5px 6px!important;
  margin:0!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.32!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  background:#101318!important;
  color:#ded5c6!important;
}
.deck-builder-visual-card.selected{border-color:#c99b55!important;box-shadow:inset 0 0 0 1px #6f4a20!important;}
.deck-builder-visual-card[data-deck-card]::after,.deck-builder-visual-card[data-selected-card]::after{
  content:'더블클릭';position:absolute;left:4px;top:26px;z-index:8;padding:2px 4px;border-radius:3px;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,221,151,.45);color:#f7dfa8;font-size:7px;font-weight:900;pointer-events:none;
}
.deck-owned-compact{position:absolute;left:4px;bottom:43px;z-index:9;display:flex;align-items:center;gap:2px;height:20px;padding:1px 3px;border:1px solid #80643c;background:rgba(5,8,11,.86);border-radius:4px;}
.deck-owned-compact small{font-size:7px;color:#d9c79f;}
.deck-owned-compact button{width:17px!important;height:17px!important;min-height:17px!important;padding:0!important;border:1px solid #80643c!important;background:#1b2027!important;color:#ffe1a3!important;font-size:11px!important;line-height:1!important;border-radius:3px!important;}
.deck-owned-compact em{min-width:15px;text-align:center;font-size:9px;font-style:normal;font-weight:950;color:#fff;}
.deck-builder-visual-card>.deck-card-controls,.deck-builder-visual-card>.collection-card-foot{display:none!important;}
.card-shop-grid .shop-card{cursor:default!important;}
.collection-card-name.zoomable-card-name{cursor:zoom-in!important;}
@media(max-width:850px){
  .deck-builder-list,.deck-builder-list.selected,.card-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .deck-builder-visual-card,.card-shop-grid .shop-card{height:205px!important;min-height:205px!important;max-height:205px!important;grid-template-rows:22px 109px 34px 40px!important;}
  .deck-builder-visual-card>.collection-card-art,.card-shop-grid .shop-card>.collection-card-art{height:109px!important;min-height:109px!important;max-height:109px!important;}
}
@media(max-width:560px){.deck-builder-list,.deck-builder-list.selected,.card-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.collection-card-heading small{display:none!important;}}


/* v86 final — 전투 핸드 카드 실제 크기 + 설명 1줄 */
.deck-builder-list,.deck-builder-list.selected,.card-shop-grid{
  grid-template-columns:repeat(3,var(--collection-card-width,118px))!important;
  justify-content:start!important;
  justify-items:start!important;
}
.deck-builder-visual-card,.card-shop-grid .shop-card{
  width:var(--collection-card-width,118px)!important;
  min-width:var(--collection-card-width,118px)!important;
  max-width:var(--collection-card-width,118px)!important;
  height:var(--collection-card-height,232px)!important;
  min-height:var(--collection-card-height,232px)!important;
  max-height:var(--collection-card-height,232px)!important;
  grid-template-rows:var(--collection-card-title-height,22px) var(--collection-card-art-height,136px) var(--collection-card-stats-height,34px) var(--collection-card-desc-height,40px)!important;
}
.deck-builder-visual-card>.collection-card-title,.card-shop-grid .shop-card>.collection-card-title{
  height:var(--collection-card-title-height,22px)!important;
  min-height:var(--collection-card-title-height,22px)!important;
}
.deck-builder-visual-card>.collection-card-art,.card-shop-grid .shop-card>.collection-card-art{
  height:var(--collection-card-art-height,136px)!important;
  min-height:var(--collection-card-art-height,136px)!important;
  max-height:var(--collection-card-art-height,136px)!important;
}
.deck-builder-visual-card>.collection-five-stats,.card-shop-grid .shop-card>.collection-five-stats{
  height:var(--collection-card-stats-height,34px)!important;
  min-height:var(--collection-card-stats-height,34px)!important;
  max-height:var(--collection-card-stats-height,34px)!important;
  font-size:8px!important;
}
.deck-builder-visual-card>.collection-extra,.card-shop-grid .shop-card>.collection-extra{
  height:var(--collection-card-desc-height,40px)!important;
  min-height:var(--collection-card-desc-height,40px)!important;
  max-height:var(--collection-card-desc-height,40px)!important;
  font-size:9px!important;
}
.collection-card-heading .collection-card-name{max-width:45%!important;font-size:9px!important;}
.collection-card-heading small{font-size:6.5px!important;}
.collection-card-title>em{font-size:7px!important;}
@media(max-width:850px){
  .deck-builder-list,.deck-builder-list.selected,.card-shop-grid{grid-template-columns:repeat(2,var(--collection-card-width,112px))!important;}
  .deck-builder-visual-card,.card-shop-grid .shop-card{
    width:var(--collection-card-width,112px)!important;min-width:var(--collection-card-width,112px)!important;max-width:var(--collection-card-width,112px)!important;
    height:var(--collection-card-height,220px)!important;min-height:var(--collection-card-height,220px)!important;max-height:var(--collection-card-height,220px)!important;
    grid-template-rows:var(--collection-card-title-height,20px) var(--collection-card-art-height,128px) var(--collection-card-stats-height,32px) var(--collection-card-desc-height,40px)!important;
  }
}


/* ================================================================
   v87 — 덱 편집 5열/4열 · 카드 폭 10% 확대 · 독립 본진 진영
   ================================================================ */
.deck-builder-box{width:min(1580px,99vw)!important;}
.deck-builder-main{
  grid-template-columns:minmax(690px,5fr) minmax(550px,4fr)!important;
  gap:10px!important;
}
.deck-builder-list{
  grid-template-columns:repeat(5,var(--collection-card-width,130px))!important;
  gap:8px!important;
  justify-content:start!important;
  justify-items:start!important;
  overflow:auto!important;
}
.deck-builder-list.selected{
  grid-template-columns:repeat(4,var(--collection-card-width,130px))!important;
}
.card-shop-box{width:min(1040px,98vw)!important;}
.card-shop-grid{
  grid-template-columns:repeat(5,var(--collection-card-width,130px))!important;
  gap:8px!important;
  justify-content:start!important;
  justify-items:start!important;
}
.deck-card-entry,.shop-card-entry{
  width:var(--collection-card-width,130px)!important;
  min-width:var(--collection-card-width,130px)!important;
  max-width:var(--collection-card-width,130px)!important;
  display:grid!important;
  grid-template-rows:auto 24px!important;
  gap:4px!important;
  align-content:start!important;
}
.deck-card-entry .deck-builder-visual-card,.shop-card-entry .shop-card{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}
.deck-owned-compact{display:none!important;}
.deck-owned-outside,.shop-owned-outside{
  height:24px!important;
  min-height:24px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:2px 4px!important;
  border:1px solid #80643c!important;
  border-radius:4px!important;
  background:#0b0f14!important;
  color:#e6d2aa!important;
  font-size:8px!important;
  font-weight:900!important;
}
.deck-owned-outside small{font-size:8px!important;color:#d9c79f!important;}
.deck-owned-outside button{
  width:19px!important;height:19px!important;min-height:19px!important;padding:0!important;
  border:1px solid #80643c!important;background:#1b2027!important;color:#ffe1a3!important;
  font-size:12px!important;line-height:1!important;border-radius:3px!important;cursor:pointer!important;
}
.deck-owned-outside em{min-width:18px!important;text-align:center!important;font-size:10px!important;font-style:normal!important;color:#fff!important;}
.deck-builder-visual-card>.collection-five-stats,.card-shop-grid .shop-card>.collection-five-stats{
  white-space:nowrap!important;
  flex-wrap:nowrap!important;
  font-size:7.6px!important;
  letter-spacing:-.035em!important;
  padding-left:1px!important;
  padding-right:1px!important;
}
/* 현재 덱과 카드 상점은 설명을 최대 3줄 높이로 표시하고, 초과분은 내부 스크롤/툴팁으로 확인 */
.deck-builder-list.selected .deck-builder-visual-card,.card-shop-grid .shop-card{
  height:calc(var(--collection-card-height,232px) + 18px)!important;
  min-height:calc(var(--collection-card-height,232px) + 18px)!important;
  max-height:calc(var(--collection-card-height,232px) + 18px)!important;
  grid-template-rows:var(--collection-card-title-height,22px) var(--collection-card-art-height,136px) var(--collection-card-stats-height,34px) calc(var(--collection-card-desc-height,40px) + 18px)!important;
}
.deck-builder-list.selected .collection-extra,.card-shop-grid .collection-extra{
  height:calc(var(--collection-card-desc-height,40px) + 18px)!important;
  min-height:calc(var(--collection-card-desc-height,40px) + 18px)!important;
  max-height:calc(var(--collection-card-desc-height,40px) + 18px)!important;
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-line-clamp:unset!important;
  scrollbar-width:thin!important;
  scrollbar-color:#80643c #101318!important;
}
.deck-builder-list.selected .collection-extra::-webkit-scrollbar,.card-shop-grid .collection-extra::-webkit-scrollbar{width:4px!important;}
.deck-builder-list.selected .collection-extra::-webkit-scrollbar-thumb,.card-shop-grid .collection-extra::-webkit-scrollbar-thumb{background:#80643c!important;border-radius:4px!important;}

/* 본진 전투필드는 본진 이미지 내부가 아니라 아군 1열 바로 아래의 독립 전투열로 표시 */
.ally-hq-defense-lane[hidden],.ally-hq-defense-lane.inactive{display:none!important;}
.ally-hq-defense-lane.active{
  display:block!important;
  border:3px solid #ffe27a!important;
  background:linear-gradient(180deg,rgba(76,57,19,.82),rgba(17,23,32,.94))!important;
  box-shadow:0 0 0 2px rgba(255,176,43,.46),0 0 30px rgba(255,205,80,.62),inset 0 0 24px rgba(255,211,96,.24)!important;
  animation:allyBaseLaneGlow 1.3s ease-in-out infinite alternate!important;
}
.ally-hq-defense-lane.active .label{
  color:#fff6c8!important;
  font-weight:1000!important;
  text-shadow:0 0 8px #ffcf55,0 0 14px #ff9d2d!important;
  z-index:5!important;
}
.ally-hq-defense-lane .hq-battlefield-grid{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  padding:7px 8px 5px!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
  border:0!important;
  border-radius:8px!important;
  background:rgba(6,10,17,.64)!important;
  box-shadow:inset 0 0 18px rgba(255,210,94,.13)!important;
}
.ally-hq-defense-lane .hq-field-slot{
  height:100%!important;
  min-height:120px!important;
  border:2px dashed rgba(255,231,151,.68)!important;
  background:linear-gradient(145deg,rgba(58,43,18,.62),rgba(7,14,24,.8))!important;
  box-shadow:inset 0 0 13px rgba(255,210,100,.12)!important;
}
.ally-hq-defense-lane .hq-field-slot.valid,.ally-hq-defense-lane .hq-field-slot.empty:hover{
  border-style:solid!important;
  border-color:#fff09a!important;
  box-shadow:0 0 18px rgba(255,225,103,.62),inset 0 0 18px rgba(255,218,91,.25)!important;
}
@keyframes allyBaseLaneGlow{
  from{filter:brightness(1);}
  to{filter:brightness(1.13);}
}

@media(max-width:1280px){
  .deck-builder-box{width:min(1240px,99vw)!important;}
  .deck-builder-main{grid-template-columns:minmax(520px,4fr) minmax(410px,3fr)!important;}
  .deck-builder-list{grid-template-columns:repeat(4,var(--collection-card-width,130px))!important;}
  .deck-builder-list.selected{grid-template-columns:repeat(3,var(--collection-card-width,130px))!important;}
  .card-shop-grid{grid-template-columns:repeat(4,var(--collection-card-width,130px))!important;}
}
@media(max-width:980px){
  .deck-builder-main{grid-template-columns:1fr!important;overflow:auto!important;}
  .deck-builder-list{grid-template-columns:repeat(3,var(--collection-card-width,130px))!important;max-height:430px!important;}
  .deck-builder-list.selected{grid-template-columns:repeat(3,var(--collection-card-width,130px))!important;max-height:430px!important;}
  .card-shop-grid{grid-template-columns:repeat(3,var(--collection-card-width,130px))!important;}
}
@media(max-width:650px){
  .deck-builder-list,.deck-builder-list.selected,.card-shop-grid{grid-template-columns:repeat(2,var(--collection-card-width,123px))!important;}
  .ally-hq-defense-lane .hq-battlefield-grid{gap:3px!important;padding:5px 4px!important;}
  .ally-hq-defense-lane .hq-field-slot{min-height:88px!important;}
}


/* v87 검증 보정: 전투 시작 전에도 10% 확대 기본폭을 유지하고 선택/상점 설명 우선순위를 고정 */
:root{--collection-card-width:130px;}
.deck-builder-list.selected>.deck-builder-visual-card{
  width:var(--collection-card-width,130px)!important;
  min-width:var(--collection-card-width,130px)!important;
  max-width:var(--collection-card-width,130px)!important;
}
.deck-builder-list.selected>.deck-builder-visual-card>.collection-extra,
.card-shop-grid .shop-card>.collection-extra{
  height:calc(var(--collection-card-desc-height,40px) + 18px)!important;
  min-height:calc(var(--collection-card-desc-height,40px) + 18px)!important;
  max-height:calc(var(--collection-card-desc-height,40px) + 18px)!important;
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-line-clamp:unset!important;
  scrollbar-width:thin!important;
  scrollbar-color:#80643c #101318!important;
}


/* ================================================================
   v88 — 6/5/7열 카드 배열 · 다중 이름 덱 · 본진 소환 보정
   ================================================================ */
.deck-builder-box{width:min(1840px,99.5vw)!important;}
.deck-builder-main{grid-template-columns:minmax(830px,6fr) minmax(700px,5fr)!important;gap:10px!important;}
.deck-builder-list{grid-template-columns:repeat(6,var(--collection-card-width,130px))!important;}
.deck-builder-list.selected{grid-template-columns:repeat(5,var(--collection-card-width,130px))!important;}
.card-shop-box{width:min(1160px,99vw)!important;}
.card-shop-grid{grid-template-columns:repeat(7,var(--collection-card-width,130px))!important;}
.deck-builder-visual-card[data-deck-card]::after,.deck-builder-visual-card[data-selected-card]::after{content:none!important;display:none!important;}
.deck-builder-toolbar{grid-template-columns:88px minmax(135px,1.2fr) minmax(130px,1.2fr) 66px 88px 88px 82px minmax(150px,1.3fr) 78px 88px!important;align-items:end!important;}
.deck-builder-toolbar>.deck-new-btn{height:34px!important;align-self:end!important;padding:5px 7px!important;white-space:nowrap!important;}
#deckBuilderName{height:34px!important;box-sizing:border-box!important;}
@media(max-width:1560px){
  .deck-builder-box{width:min(1500px,99.5vw)!important;}
  .deck-builder-main{grid-template-columns:minmax(690px,5fr) minmax(550px,4fr)!important;}
  .deck-builder-list{grid-template-columns:repeat(5,var(--collection-card-width,130px))!important;}
  .deck-builder-list.selected{grid-template-columns:repeat(4,var(--collection-card-width,130px))!important;}
  .card-shop-grid{grid-template-columns:repeat(6,var(--collection-card-width,130px))!important;}
}
@media(max-width:1280px){
  .deck-builder-list{grid-template-columns:repeat(4,var(--collection-card-width,130px))!important;}
  .deck-builder-list.selected{grid-template-columns:repeat(3,var(--collection-card-width,130px))!important;}
  .card-shop-grid{grid-template-columns:repeat(5,var(--collection-card-width,130px))!important;}
  .deck-builder-toolbar{grid-template-columns:repeat(5,minmax(105px,1fr))!important;}
}
@media(max-width:980px){
  .deck-builder-list,.deck-builder-list.selected{grid-template-columns:repeat(3,var(--collection-card-width,130px))!important;}
  .card-shop-grid{grid-template-columns:repeat(3,var(--collection-card-width,130px))!important;}
}
@media(max-width:650px){
  .deck-builder-list,.deck-builder-list.selected,.card-shop-grid{grid-template-columns:repeat(2,var(--collection-card-width,123px))!important;}
}

/* ================================================================
   v89 — 6/5/7열 그리드에 맞춘 모달 폭 정밀 조정
   ================================================================ */
@media(min-width:1561px){
  /* 카드 목록 6장 + 현재 덱 5장이 각 패널을 빈틈없이 채우는 폭 */
  .deck-builder-box{
    width:min(1570px,99.5vw)!important;
  }
  .deck-builder-main{
    grid-template-columns:836px 698px!important;
    justify-content:start!important;
  }
  .deck-builder-list{
    grid-template-columns:repeat(6,var(--collection-card-width,130px))!important;
  }
  .deck-builder-list.selected{
    grid-template-columns:repeat(5,var(--collection-card-width,130px))!important;
  }

  /* 카드 7장과 6개 간격, 좌우 패딩만 남기는 상점 폭 */
  .card-shop-box{
    width:min(974px,99vw)!important;
  }
  .card-shop-grid{
    grid-template-columns:repeat(7,var(--collection-card-width,130px))!important;
    justify-content:start!important;
  }
}

/* v89 정밀 보정: 런타임에서 계산된 실제 카드 폭을 모달 폭에 반영 */
@media(min-width:1561px){
  .deck-builder-box{
    width:min(calc(
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + 140px
    ),99.5vw)!important;
  }
  .deck-builder-main{
    grid-template-columns:
      calc(
        var(--collection-card-width,130px) + var(--collection-card-width,130px) +
        var(--collection-card-width,130px) + var(--collection-card-width,130px) +
        var(--collection-card-width,130px) + var(--collection-card-width,130px) + 56px
      )
      calc(
        var(--collection-card-width,130px) + var(--collection-card-width,130px) +
        var(--collection-card-width,130px) + var(--collection-card-width,130px) +
        var(--collection-card-width,130px) + 48px
      )!important;
  }
  .deck-builder-list.selected{gap:8px!important;}
  .card-shop-box{
    width:min(calc(
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + var(--collection-card-width,130px) +
      var(--collection-card-width,130px) + 64px
    ),99vw)!important;
  }
}

.event-image-effect-line{margin-top:8px}
.event-image-effect-line label{display:flex;flex-direction:column;gap:6px;color:#d7e4f5;font-size:12px;font-weight:700}
.sss-effect-panel{margin-top:8px;padding:14px;border:1px solid #2d4465;border-radius:14px;background:#0a1524}
.sss-effect-panel.disabled{opacity:.55}
.sss-effect-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;color:#d7e6fb}
.sss-effect-head span{font-size:12px;color:#9fb5d3}
.sss-effect-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.sss-trigger-box{padding:12px;border:1px solid #233650;border-radius:12px;background:#09111d;display:flex;flex-direction:column;gap:10px}
.sss-trigger-title label{display:flex;align-items:center;gap:8px;font-weight:800;color:#f7fbff}
.sss-trigger-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}
.sss-trigger-fields label,.sss-effect-stat{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#cfe0f8}
.sss-effect-stat-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sss-effect-stat label{font-weight:700}
.sss-effect-stat input[type="number"],.sss-trigger-fields input,.sss-trigger-fields select{width:100%}
.sss-effect-summary{padding:8px 10px;border-radius:10px;background:#102038;color:#f0f6ff;font-size:12px;line-height:1.45;border:1px solid #ffffff18}
@media (max-width:900px){.sss-effect-stat-list,.sss-trigger-fields{grid-template-columns:1fr}}

.manager-scene-lock{margin-top:9px;padding:8px 10px;border:1px solid #385274;border-radius:10px;background:#0d1a2a;color:#e5f0ff;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}
.manager-scene-lock small{margin-left:auto;color:#9eb2cc;font-size:10px;font-weight:600}
.manager-scene-lock input{accent-color:#efb84b}


/* v93: 핸드 버프 표시를 카드 중앙보다 약간 아래로 이동 */
#hand.hand .card .hand-buff-provider-badge{
  left:50%!important;right:auto!important;top:60%!important;bottom:auto!important;
  transform:translate(-50%,-50%)!important;min-width:78px!important;max-width:calc(100% - 12px)!important;
  z-index:28!important;text-align:center!important;
}
#enemyHq .hq-stat-chip.deck{display:inline-flex!important;color:#ffe3a2!important}

/* ================================================================
   v94 — 부활 위치 선택 · 전투 메뉴/덱 조작부 정렬
   ================================================================ */
.left-menu-dock .top-card-actions,
.left-bottom-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
}
.left-menu-dock .top-card-actions .btn,
.left-bottom-actions .btn{
  width:100%!important;
  height:var(--battle-control-height,34px)!important;
  min-height:var(--battle-control-height,34px)!important;
  max-height:var(--battle-control-height,34px)!important;
  padding:4px 6px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-sizing:border-box!important;
}

.reference-right .formation-control{padding:6px!important;gap:5px!important;}
.reference-right .formation-inline{
  display:grid!important;
  grid-template-columns:72px minmax(112px,1fr) 58px!important;
  gap:6px!important;
  align-items:center!important;
}
.reference-right .formation-inline #allyFormationSelect{
  width:72px!important;min-width:72px!important;max-width:72px!important;flex-basis:72px!important;
  padding:3px 2px!important;font-size:11px!important;
}
.reference-right .formation-inline #battleDeckSelect{
  width:100%!important;min-width:0!important;max-width:none!important;
  padding:3px 5px!important;font-size:11px!important;text-overflow:ellipsis!important;
}
.reference-right .formation-inline .formation-deck-btn{
  width:58px!important;min-width:58px!important;max-width:58px!important;
  padding:3px 4px!important;font-size:11px!important;white-space:nowrap!important;
}

.reference-right .right-deck-body{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:stretch!important;
  padding:6px!important;
  gap:6px!important;
}
.reference-right .right-deck-body .deck-stack{display:none!important;}
.reference-right .right-action-mount{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:var(--battle-control-height,34px)!important;
  gap:6px!important;
  padding:0!important;
  width:100%!important;
  flex:1 1 auto!important;
  align-items:stretch!important;
}
.reference-right .right-action-mount .deck-info,
.reference-right .right-action-mount #shuffleBtn,
.reference-right .right-action-mount #endTurnBtn,
.reference-right .right-action-mount #battleControlBtn{
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  min-width:0!important;
  height:var(--battle-control-height,34px)!important;
  min-height:var(--battle-control-height,34px)!important;
  max-height:var(--battle-control-height,34px)!important;
  margin:0!important;
  padding:3px 4px!important;
  box-sizing:border-box!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.reference-right .right-action-mount .deck-info{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  border:1px solid #6b5131!important;
  border-radius:6px!important;
  background:linear-gradient(180deg,#1c1711,#0d0b08)!important;
  color:#f3dfb7!important;
}
.reference-right .right-action-mount .deck-info b{font-size:13px!important;line-height:1!important;}
.reference-right .right-action-mount .deck-help{display:block!important;font-size:8px!important;line-height:1!important;color:#a99a82!important;}
body.prebattle .reference-right .right-deck-body{
  pointer-events:auto!important;
  filter:saturate(.88) brightness(.9)!important;
}
body.prebattle #shuffleBtn,body.prebattle #endTurnBtn{pointer-events:none!important;opacity:.55!important;}

.revive-select-box{width:min(780px,94vw)!important;max-height:82vh!important;display:flex!important;flex-direction:column!important;gap:12px!important;}
.revive-select-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.revive-select-head h2{margin:0 0 4px;}
.revive-candidate-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto;padding:2px 2px 8px;}
.revive-candidate-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid #3a506e;border-radius:10px;background:linear-gradient(145deg,#0e1a2a,#080d15);color:#eef5ff;text-align:left;cursor:pointer;}
.revive-candidate-card:hover{border-color:#ffe287;box-shadow:0 0 14px rgba(255,221,102,.34);transform:translateY(-1px);}
.revive-candidate-art{height:92px;overflow:hidden;border-radius:7px;background:#070b10;}
.revive-candidate-art .cimg{height:100%!important;min-height:100%!important;}
.revive-candidate-info{display:flex;flex-direction:column;gap:6px;min-width:0;}
.revive-candidate-info b{font-size:14px;color:#fff0bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.revive-candidate-info small{font-size:10px;line-height:1.4;color:#b9c9dd;}
.slot.revive-target{border:2px solid #fff09a!important;background:linear-gradient(145deg,rgba(255,228,112,.28),rgba(28,48,78,.64))!important;box-shadow:0 0 18px rgba(255,232,122,.82),inset 0 0 16px rgba(255,228,102,.22)!important;animation:reviveTargetPulse .85s ease-in-out infinite alternate!important;cursor:pointer!important;}
@keyframes reviveTargetPulse{from{filter:brightness(1)}to{filter:brightness(1.28)}}
@media(max-width:760px){.revive-candidate-list{grid-template-columns:1fr!important}.reference-right .formation-inline{grid-template-columns:66px minmax(96px,1fr) 56px!important}.reference-right .formation-inline #allyFormationSelect{width:66px!important;min-width:66px!important;max-width:66px!important}}

/* v94 최종 치수 보정 */
#cardShopBtn,#cardManagerBtn,#settingsBtn,#rulesBtn{
  height:var(--battle-control-height,42px)!important;
  min-height:var(--battle-control-height,42px)!important;
  max-height:var(--battle-control-height,42px)!important;
  padding:4px 6px!important;
  box-sizing:border-box!important;
  font-size:12px!important;
  font-weight:900!important;
}
.reference-right .compact-settings-holder .formation-inline #allyFormationSelect{
  width:72px!important;min-width:72px!important;max-width:72px!important;flex:0 0 72px!important;
}
.reference-right .compact-settings-holder .formation-inline #battleDeckSelect{
  width:100%!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important;
}
#leftMenuMount .top-card-actions{grid-auto-rows:var(--battle-control-height,42px)!important;}
#leftMenuMount .top-card-actions #cardShopBtn,
#leftMenuMount .top-card-actions #cardManagerBtn{
  height:var(--battle-control-height,42px)!important;
  min-height:var(--battle-control-height,42px)!important;
  max-height:var(--battle-control-height,42px)!important;
  padding:4px 6px!important;
}


/* v95: 전투 조작 순서 고정 · 항복/게임 시작 → 덱 장수 → 셔플 → 턴 종료 */
.reference-right .right-action-mount #battleControlBtn{grid-column:1!important;grid-row:1!important;}
.reference-right .right-action-mount .deck-info{grid-column:2!important;grid-row:1!important;}
.reference-right .right-action-mount #shuffleBtn{grid-column:3!important;grid-row:1!important;}
.reference-right .right-action-mount #endTurnBtn{grid-column:4!important;grid-row:1!important;}

/* v96: 일괄설정과 개별 장수 연출 설정 분리 */
#batchSettingsModal [hidden]{display:none!important}
.batch-shuttle-panel{display:grid;gap:12px;padding:12px;border:1px solid #3e5f80;border-radius:12px;background:linear-gradient(180deg,#0e1b2b,#08111d);margin-bottom:12px}
.batch-card-image-shuttle{display:grid;grid-template-columns:140px repeat(3,minmax(170px,1fr));gap:10px;align-items:center;padding:10px;border:1px solid #29425f;border-radius:10px;background:#0a1524}
.batch-card-image-shuttle label,.batch-scene-shuttle-card label{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;color:#dbe9fb;font-size:12px}
.batch-card-image-shuttle input[type="range"],.batch-scene-shuttle-card input[type="range"]{min-width:0;width:100%}
.batch-card-image-shuttle output,.batch-scene-shuttle-card output{min-width:42px;text-align:right;color:#9ed8ff;font-weight:800}
.batch-scene-shuttle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.batch-scene-shuttle-card{display:grid;gap:8px;padding:11px;border:1px solid #36516f;border-radius:11px;background:linear-gradient(180deg,#101d2e,#09131f)}
.batch-scene-shuttle-card>b{color:#fff4d6;font-size:13px}
.batch-scene-shuttle-card select{grid-column:2/4;min-width:0}
.batch-image-preset-row{grid-template-columns:auto repeat(4,auto) repeat(3,72px) minmax(220px,1fr) auto auto auto!important;align-items:center!important}
.batch-preset-scene-summary{min-width:220px;padding:7px 9px;border-radius:8px;background:#0b1726;border:1px solid #29445f;color:#cfe4ff;font-size:11px;line-height:1.35}
.batch-mini-field input[readonly]{background:#07101b!important;color:#8fcfff!important;border-color:#29445f!important;cursor:default}
#batchSettingsModal[data-settings-mode="batch"] .batch-current-card{display:none!important}
#batchSettingsModal[data-settings-mode="individual"] .batch-settings-box{max-width:min(1280px,98vw)!important}
#batchSettingsModal[data-settings-mode="individual"] .event-image-manager{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
#batchSettingsModal[data-settings-mode="individual"] .event-image-setting{padding:12px!important;border-radius:12px!important;border-color:#4b6686!important;background:linear-gradient(180deg,#111d2c,#090f18)!important}
.event-image-preview.event-hq-live-preview{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;height:auto!important;min-height:calc(var(--stage-hq-height,170px) + 12px)!important;padding:6px!important;border:0!important;background:#04080e!important;overflow:visible!important}
.event-hq-preview-frame{position:relative!important;width:var(--stage-hq-width,320px)!important;height:var(--stage-hq-height,170px)!important;min-height:var(--stage-hq-height,170px)!important;max-width:100%!important;overflow:hidden!important;border:2px solid #ffffff38!important;box-shadow:0 12px 28px #000a,0 0 20px #6ebeff25!important}
.event-hq-preview-frame .hq-card-scene{inset:0!important}
.event-hq-preview-frame>.hq-title,.event-hq-preview-frame>.hq-subtitle{z-index:90!important;pointer-events:none}
.event-image-preview-actions{justify-content:center!important}
.event-image-preview-actions .btn{min-width:180px!important}
.event-image-manager>.image-adjust-title,.event-image-manager>.event-image-note{grid-column:1/-1!important}
@media(max-width:1100px){
  .batch-card-image-shuttle{grid-template-columns:1fr!important}
  .batch-scene-shuttle-grid,#batchSettingsModal[data-settings-mode="individual"] .event-image-manager{grid-template-columns:1fr!important}
  .batch-image-preset-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .batch-preset-scene-summary{grid-column:1/-1!important}
}


.batch-scene-shuttle-card .batch-scene-preview{margin-top:4px;min-height:var(--stage-hq-height,170px)}
.batch-scene-shuttle-card .batch-scene-preview-actions{justify-content:flex-end;padding-top:2px}
.batch-scene-shuttle-card .batch-scene-preview-actions .btn{min-height:30px!important;font-size:11px!important}
.batch-scene-shuttle-card .event-hq-preview-frame{width:min(100%,var(--stage-hq-width,320px));margin:0 auto}

.batch-settings-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.batch-settings-head-actions .btn{min-width:92px}
.batch-target-selector{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid #365574;border-radius:10px;background:#0a1625;color:#dbe9fb}
.batch-target-selector>b{color:#fff1cf;margin-right:4px}
.batch-target-selector label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;white-space:nowrap}
.batch-target-selector input{accent-color:#58aee8}
.individual-card-picker{display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr) minmax(220px,1fr);gap:10px;align-items:end}
.individual-card-picker label{display:grid;gap:5px;color:#d6e5f7;font-size:11px;font-weight:800}
.individual-card-picker input,.individual-card-picker select{width:100%;min-height:36px}
#individualCardMeta{display:flex;align-items:center;min-height:36px;padding:7px 10px;border:1px solid #385675;border-radius:8px;background:#0a1625;color:#f0d49a;font-size:12px;font-weight:800}
@media(max-width:900px){.individual-card-picker{grid-template-columns:1fr!important}.batch-settings-head-actions{width:100%}.batch-settings-head-actions .btn{flex:1}}


/* v99 · 셔틀은 이미지 위치·크기만 정적으로 표시 */
.event-hq-preview-frame .scene-static-image-layer{position:absolute;inset:0;z-index:4;overflow:hidden;background:#02050a;pointer-events:none}
.event-hq-preview-frame .scene-static-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;max-height:none;animation:none!important;transition:none!important;filter:none!important;opacity:1!important}
.event-hq-preview-frame .scene-static-guide{position:absolute;left:8px;right:8px;bottom:6px;z-index:6;padding:4px 7px;border:1px solid #ffffff38;background:#05080dd9;color:#f4ead7;font-size:10px;font-weight:900;letter-spacing:.02em;text-align:center;text-shadow:0 1px 4px #000}
.event-hq-preview-frame .scene-static-empty{position:absolute;inset:0;display:grid;place-items:center;color:#aebbc9;font-size:12px;font-weight:800;background:linear-gradient(135deg,#0c1724,#05090f)}
.event-hq-preview-frame>.hq-title,.event-hq-preview-frame>.hq-subtitle{z-index:7!important}

/* v100 · 셔틀값을 정적 이미지에 즉시 반영 */
.event-hq-preview-frame .scene-static-image{
  object-position:var(--preview-x,50%) var(--preview-y,50%)!important;
  transform-origin:var(--preview-x,50%) var(--preview-y,50%)!important;
  transform:scale(var(--preview-scale,1))!important;
  will-change:transform,object-position;
}

/* ================================================================
   v103 — 전투 준비 6장 카드 뒷면 및 전투 시작 플립 공개
   ================================================================ */
#hand.hand .card.opening-hand-card{
  perspective:1100px!important;
  transform:none!important;
  overflow:visible!important;
  isolation:isolate;
}
#hand.hand .card.opening-hand-card.selected{outline:none!important;transform:none!important}
#hand.hand .opening-hand-flipper{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
  transform:rotateY(0deg);
  transition:transform .72s cubic-bezier(.2,.72,.18,1);
  transition-delay:calc(var(--opening-card-index,0) * 90ms);
  will-change:transform;
}
#hand.hand .opening-card-face{
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  overflow:hidden;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  box-sizing:border-box;
}
#hand.hand .opening-card-front-face{
  display:grid;
  grid-template-rows:inherit;
  transform:rotateY(180deg);
  background:inherit;
  border:1px solid transparent;
}
#hand.hand .opening-card-back-face{
  display:grid;
  place-items:center;
  border:2px solid #b98a49;
  background:
    radial-gradient(circle at 50% 48%,rgba(210,166,89,.22) 0 13%,transparent 14% 100%),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 16px,rgba(212,169,94,.12) 17px 18px),
    linear-gradient(145deg,#111b25,#05090d 68%,#171007);
  box-shadow:inset 0 0 0 3px #0b0d10,inset 0 0 0 5px #7b5428,inset 0 0 28px #000,0 7px 18px #000a;
}
#hand.hand .opening-card-back-face::before,
#hand.hand .opening-card-back-face::after{
  content:"";
  position:absolute;
  width:42px;
  height:42px;
  border-color:#a7793e;
  opacity:.75;
}
#hand.hand .opening-card-back-face::before{left:9px;top:9px;border-left:2px solid;border-top:2px solid}
#hand.hand .opening-card-back-face::after{right:9px;bottom:9px;border-right:2px solid;border-bottom:2px solid}
#hand.hand .opening-card-back-frame{
  position:relative;
  z-index:2;
  width:68%;
  aspect-ratio:1/1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid #c6944d;
  outline:1px solid #3f2b17;
  outline-offset:4px;
  transform:rotate(45deg);
  background:radial-gradient(circle,#2c261c,#101318 72%);
  box-shadow:0 0 24px rgba(208,151,62,.22),inset 0 0 18px #000b;
}
#hand.hand .opening-card-back-frame>*{transform:rotate(-45deg)}
#hand.hand .opening-card-back-frame b{font-family:"Malgun Myeongjo","Batang",serif;font-size:19px;letter-spacing:.08em;color:#e3bc78;text-shadow:0 2px 5px #000}
#hand.hand .opening-card-back-frame span{font-size:6px;font-weight:900;letter-spacing:.12em;color:#9f8d70;white-space:nowrap}
#hand.hand .opening-card-back-frame small{font-family:"Malgun Myeongjo","Batang",serif;font-size:24px;line-height:1;color:#a12e24;text-shadow:0 0 10px #d0432e55}
body.prebattle #hand.hand .card.opening-hand-card{
  border-color:#7b5b34!important;
  background:#0c1116!important;
  box-shadow:0 4px 12px #000b!important;
}
body.hand-reveal-active #hand.hand .opening-hand-flipper{transform:rotateY(180deg)}
body.hand-reveal-active #hand.hand,
body.hand-reveal-active #shuffleBtn,
body.hand-reveal-active #endTurnBtn{pointer-events:none!important}
body.hand-reveal-active #shuffleBtn,
body.hand-reveal-active #endTurnBtn{opacity:.5!important}
@media(max-width:850px){
  #hand.hand .opening-card-back-frame b{font-size:17px}
  #hand.hand .opening-card-back-frame small{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  #hand.hand .opening-hand-flipper{transition-duration:.01ms!important;transition-delay:0ms!important}
}

/* ===== v105 책사 성장·국가 전열·핸드 가독성 ===== */
#hand.hand .card.actionable-card:not(.opening-hand-card){
  border-color:#72e6a2!important;
  box-shadow:0 0 0 2px rgba(52,180,112,.42),0 0 16px rgba(69,224,139,.32)!important;
}
#hand.hand .card.actionable-card:not(.opening-hand-card)::before{
  content:'행동 가능';position:absolute;z-index:12;left:6px;top:6px;padding:2px 6px;border-radius:999px;
  background:rgba(11,92,55,.94);border:1px solid #9af4bd;color:#edfff4;font-size:9px;font-weight:900;letter-spacing:.03em;
}
#hand.hand .card.selected-vivid:not(.opening-hand-card){
  filter:saturate(1.25) brightness(1.18) contrast(1.08)!important;
  outline:3px solid #fff0a6!important;
  box-shadow:0 0 0 3px #8b6c16,0 0 28px rgba(255,223,103,.75)!important;
  transform:translateY(-9px) scale(1.025)!important;
  z-index:20!important;
}
#hand.hand .card.free-advisor-deploy:not(.opening-hand-card)::after{
  content:'전장 배치 AP 0';position:absolute;z-index:13;right:6px;top:6px;padding:2px 5px;border-radius:4px;
  background:#173b6d;border:1px solid #8fc5ff;color:#eaf5ff;font-size:9px;font-weight:900;
}
.ally-advisor.replace-valid{box-shadow:0 0 0 3px #f0b64b,0 0 24px rgba(240,182,75,.65)!important;}
.ally-advisor.replace-valid::after{content:'교체 가능';position:absolute;right:4px;top:4px;z-index:8;padding:2px 5px;border-radius:4px;background:#7d4c08;color:#fff1c3;font-size:9px;font-weight:900;}
.faction-formation-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;margin-left:6px;border:1px solid #5f6671;border-radius:999px;background:#15191f;color:#9ca5b2;font-size:10px;font-weight:800;white-space:nowrap;}
.faction-formation-status.active{border-color:#d2aa4e;background:linear-gradient(180deg,#4c3712,#251b0b);color:#ffe5a0;box-shadow:0 0 12px rgba(227,177,70,.3);}
.deck-faction-rule-note{margin:8px 12px 0;padding:7px 10px;border:1px solid #4b6681;border-radius:7px;background:#111d28;color:#bdd7ef;font-size:10px;line-height:1.45;}
.deck-builder-toolbar{grid-template-columns:110px minmax(145px,1.25fr) 72px 120px 88px 88px 82px minmax(145px,1.2fr) 78px 88px!important;}
.deck-builder-toolbar .deck-faction-filter select{border-color:#c59642!important;color:#ffe0a4!important;background:#251b0d!important;}
@media(max-width:1100px){.deck-builder-toolbar{grid-template-columns:repeat(5,minmax(105px,1fr))!important;}}
@media(max-width:720px){.deck-builder-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.faction-formation-status{display:none;}}


/* ================================================================
   v107 — 적 1열 진입 시 대칭형 적군 본진 진영 5칸
   ================================================================ */
.enemy-hq-defense-lane[hidden],.enemy-hq-defense-lane.inactive{display:none!important;}
.enemy-hq-defense-lane.active{
  display:block!important;
  border:3px solid #ff9b82!important;
  background:linear-gradient(180deg,rgba(79,29,23,.84),rgba(17,23,32,.94))!important;
  box-shadow:0 0 0 2px rgba(255,92,62,.38),0 0 30px rgba(255,112,84,.48),inset 0 0 24px rgba(255,132,96,.18)!important;
  animation:enemyBaseLaneGlow 1.3s ease-in-out infinite alternate!important;
}
.enemy-hq-defense-lane.active .label{
  color:#ffe2d9!important;
  font-weight:1000!important;
  text-shadow:0 0 8px #ff8b71,0 0 14px #d93d2d!important;
  z-index:5!important;
}
.enemy-hq-defense-lane .hq-battlefield-grid{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  padding:7px 8px 5px!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
  border:0!important;
  border-radius:8px!important;
  background:rgba(17,7,7,.66)!important;
  box-shadow:inset 0 0 18px rgba(255,112,84,.12)!important;
}
.enemy-hq-defense-lane .hq-field-slot{
  height:100%!important;
  min-height:120px!important;
  border:2px dashed rgba(255,177,157,.62)!important;
  background:linear-gradient(145deg,rgba(69,25,20,.64),rgba(11,13,19,.82))!important;
  box-shadow:inset 0 0 13px rgba(255,105,76,.1)!important;
}
@keyframes enemyBaseLaneGlow{
  from{filter:brightness(1);}
  to{filter:brightness(1.13);}
}
@media(max-width:760px){
  .enemy-hq-defense-lane .hq-battlefield-grid{gap:3px!important;padding:5px 4px!important;}
  .enemy-hq-defense-lane .hq-field-slot{min-height:88px!important;}
}

/* ================================================================
   v108 — 적용 버프 위치 조정 · 지원 장수 버프 선택/취소 상태
   ================================================================ */
/* 적용된 강화/약화 표시는 카드 중앙보다 약간 아래에 배치해
   상단 이름·정찰·병과 표시와 하단 능력 아이콘을 가리지 않는다. */
.battlefield-layout .unit .active-buff-badge,
.battlefield-layout .unit .smoke-buff{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:68%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  z-index:22!important;
  min-width:72px!important;
  max-width:calc(100% - 16px)!important;
  padding:3px 5px!important;
  align-items:center!important;
  text-align:center!important;
  pointer-events:none!important;
}
/* 지원 장수 자신에게 다른 버프가 걸린 경우, 제공 능력 배지는 위쪽으로
   분리하여 두 배지가 서로 겹치지 않게 한다. */
.battlefield-layout .unit .active-buff-badge + .buff-provider-badge,
.battlefield-layout .unit .smoke-buff + .buff-provider-badge{
  left:50%!important;
  right:auto!important;
  top:33%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
}
/* 버프 대상 선택 중인 장수 */
.battlefield-layout .unit.support-buff-caster{
  outline:3px solid #7ff2dc!important;
  outline-offset:2px!important;
  filter:brightness(1.12) saturate(1.18)!important;
  box-shadow:0 0 0 2px #062f29,0 0 18px #58e2d0cc!important;
}
.slot.buff-cancel-source::after{
  content:'버프 선택 중';
  position:absolute;
  left:50%;top:4px;
  transform:translateX(-50%);
  z-index:35;
  padding:2px 5px;
  border:1px solid #a9fff0;
  border-radius:999px;
  background:#063c35ee;
  color:#effffb;
  font-size:8px;
  font-weight:950;
  white-space:nowrap;
  pointer-events:none;
}
.field-strategist-actions .buff-start-action{
  border-color:#47cdb7!important;
  background:linear-gradient(180deg,#0b5f54,#073d36)!important;
}
.field-strategist-actions .buff-cancel-action{
  border-color:#ffb26d!important;
  background:linear-gradient(180deg,#78411c,#4a2410)!important;
  color:#fff1df!important;
}


/* v109 · 기타이미지 실시간 크기/위치 미리보기 */
#otherImageModal .default-card-image-manager{grid-template-columns:minmax(240px,360px) minmax(250px,1fr)!important;align-items:start!important;column-gap:14px!important;}
#otherImageModal .default-card-image-manager>.image-adjust-title,
#otherImageModal .default-card-image-manager>.default-image-note,
#otherImageModal .default-card-image-manager>.default-image-controls{grid-column:1/-1!important;}
#otherImageModal .default-card-image-manager>.default-image-preview{grid-column:1!important;grid-row:4/9!important;height:300px!important;border:2px solid #4a6388!important;border-radius:12px!important;background:#111a27!important;}
#otherImageModal .default-card-image-manager>.other-image-adjust-panel,
#otherImageModal .default-card-image-manager>.manager-upload-label,
#otherImageModal .default-card-image-manager>input[type=file],
#otherImageModal .default-card-image-manager>#removeDefaultCardImageBtn{grid-column:2!important;}
.other-adjustable-preview{position:relative!important;overflow:hidden!important;cursor:grab!important;touch-action:none!important;user-select:none!important;display:grid!important;place-items:center!important;}
.other-adjustable-preview.dragging{cursor:grabbing!important;outline:2px solid #e3b867!important;box-shadow:0 0 20px #d8a95055!important;}
.other-adjustable-preview.has-image::after,.hq-image-preview.custom::after{content:'이미지를 드래그해 위치 조절';position:absolute;left:7px;right:7px;bottom:7px;z-index:8;padding:4px 6px;background:#05080bbb;border:1px solid #ffffff33;color:#f3e5ce;font-size:9px;font-weight:800;text-align:center;pointer-events:none;}
.other-preview-art{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:var(--img-x,50%) var(--img-y,50%)!important;transform:scale(var(--img-scale,1));transform-origin:var(--img-x,50%) var(--img-y,50%);transition:transform .12s ease,object-position .12s ease;}
.other-image-adjust-panel{display:grid;gap:8px;padding:10px;border:1px solid #5f472d;background:#0a0d0f;min-width:0;}
.other-image-adjust-panel label{display:grid;grid-template-columns:46px minmax(0,1fr) 44px;gap:7px;align-items:center;font-size:10px;color:#d5c7b2;}
.other-image-adjust-panel input[type=range]{width:100%;accent-color:#c69b55;}
.other-image-adjust-panel output{text-align:right;color:#f2d69f;font-weight:900;font-size:10px;}
.other-image-adjust-actions{display:flex;gap:6px;flex-wrap:wrap;}
.other-image-adjust-actions .btn{flex:1;min-width:82px;}
#otherImageModal .hq-image-setting{display:grid!important;gap:7px!important;min-width:0!important;}
#otherImageModal .hq-image-preview{height:180px!important;background-size:cover!important;background-position:center!important;}
#otherImageModal .hq-image-preview .other-preview-art{position:absolute;inset:0;z-index:1;}
#otherImageModal .hq-image-preview span{z-index:7!important;}
#otherImageModal .other-image-adjust-panel.compact{padding:7px;gap:6px;}
#otherImageModal .other-image-adjust-panel.compact .image-adjust-title{display:none;}
.drag-position-readout{font-size:10px;color:#d5c7b2;padding:4px 0;}
.drag-position-readout b{color:#f2d69f;}
@media(max-width:900px){
  #otherImageModal .default-card-image-manager{grid-template-columns:1fr!important;}
  #otherImageModal .default-card-image-manager>*{grid-column:1!important;grid-row:auto!important;}
  #otherImageModal .default-card-image-manager>.default-image-preview{height:260px!important;}
}

/* ================================================================
   v110 — 모바일 전용 메뉴 · 전투필드 · 본진 · 핸드 레이아웃
   ================================================================ */
.mobile-game-header,.mobile-ally-hq-mount,.mobile-hand-mount{display:none}
.responsive-anchor{display:none!important}

@media (max-width:850px){
  :root{--mobile-action-height:58px;--mobile-hand-height:174px}
  html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;background:#050708!important}
  body{padding:0 0 calc(env(safe-area-inset-bottom,0px) + 6px)!important;touch-action:pan-y;}
  body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 50% 4%,#432b1538,transparent 38%),linear-gradient(180deg,#080b0c,#030506)}

  .mobile-game-header{display:block;position:sticky;top:0;z-index:96;width:100%;border-bottom:1px solid #8a5b28;background:linear-gradient(180deg,#11191cfa,#070b0df7);box-shadow:0 8px 22px #000c,inset 0 -1px #000;padding-top:env(safe-area-inset-top,0px)}
  .mobile-brand-row{height:44px;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #3f2b17}
  .mobile-brand-row>div{display:flex;align-items:baseline;gap:8px;min-width:0}
  .mobile-brand-row b{font-family:"Malgun Myeongjo","Batang",serif;color:#e0b36a;font-size:19px;letter-spacing:-.04em;text-shadow:0 2px #241608}
  .mobile-brand-row span{color:#9f9789;font-size:10px;font-weight:800}
  .mobile-icon-btn{width:34px;height:32px;display:grid;place-items:center;border:1px solid #604621;background:#17130e;color:#e6c27d;border-radius:8px;font-size:17px;padding:0}

  .mobile-prebattle-menu{display:grid;gap:8px;padding:9px}
  .mobile-menu-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px;align-items:center;padding:8px;border:1px solid #5f482b;background:linear-gradient(145deg,#14191b,#0a0e10);box-shadow:inset 0 0 0 1px #000;border-radius:10px}
  .mobile-menu-label{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-right:7px;border-right:1px solid #43341f}
  .mobile-menu-label span{color:#efd399;font-size:13px;font-weight:950}
  .mobile-menu-label small{margin-top:2px;color:#8f887b;font-size:8px;line-height:1.25}
  .mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .mobile-menu-card .btn{min-height:42px;padding:7px;font-size:13px;font-weight:900;border-radius:8px}
  .battle-menu-card{grid-template-columns:76px minmax(0,1fr) 94px}
  .battle-menu-card select{min-width:0;width:100%;height:42px;padding:5px 8px;border-color:#71552e;background:#0b1114;color:#f1e6d2;font-size:12px;font-weight:800}
  .battle-menu-card #mobileBattleStartBtn{height:42px;background:linear-gradient(180deg,#376fc0,#1b477f);border-color:#68a2f1;color:#fff}
  .mobile-advanced-setup{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px;border:1px solid #4a3a24;background:#080c0e;border-radius:9px}
  .mobile-advanced-setup[hidden]{display:none!important}
  .mobile-advanced-setup label{display:grid;gap:4px;color:#bdb2a0;font-size:9px;font-weight:800}
  .mobile-advanced-setup label:last-of-type{grid-column:1/-1}
  .mobile-advanced-setup select{width:100%;min-width:0;height:36px;padding:5px 7px;font-size:11px}
  .mobile-advanced-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .mobile-advanced-actions .btn{min-height:36px;padding:5px;font-size:10px}

  .mobile-combat-summary{display:none;height:42px;grid-template-columns:repeat(5,1fr);border-top:1px solid #2e2519;border-bottom:1px solid #5f431f;background:#080c0e}
  .mobile-combat-summary>div{display:flex;align-items:center;justify-content:center;gap:4px;border-right:1px solid #2d3132;font-size:9px;color:#9f9a90}
  .mobile-combat-summary>div:last-child{border-right:0}
  .mobile-combat-summary b{font-size:13px;color:#f0d99f}
  .mobile-jump-nav{display:none;grid-template-columns:repeat(4,1fr);height:36px;background:#0c1113;border-bottom:1px solid #392c1b}
  .mobile-jump-nav button{border:0;border-right:1px solid #2f3537;background:transparent;color:#bfb6a8;font-size:10px;font-weight:900;padding:0}
  .mobile-jump-nav button:last-child{border-right:0}
  .mobile-jump-nav button:active{background:#2b2115;color:#f3d595}

  body.prebattle .mobile-combat-summary,body.prebattle .mobile-jump-nav{display:none!important}
  body:not(.prebattle) .mobile-prebattle-menu{display:none!important}
  body:not(.prebattle) .mobile-combat-summary{display:grid!important}
  body:not(.prebattle) .mobile-jump-nav{display:grid!important}
  body.prebattle .app{display:none!important}

  .app{display:block!important;width:100%!important;height:auto!important;min-height:0!important;min-width:0!important;padding:0!important;margin:0!important;overflow:visible!important}
  .app>.reference-left,.app>.reference-right{display:none!important}
  .battle-panel{display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;min-width:0!important;margin:0!important;border:0!important;border-radius:0!important;overflow:visible!important;background:#050708!important;box-shadow:none!important}
  .battle-panel::before,.battle-panel::after{display:none!important}
  .battle-panel>.reference-topbar{display:none!important}

  .boardwrap{order:1!important;display:block!important;position:relative!important;flex:none!important;width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:8px 5px 5px!important;background:linear-gradient(#0003,#0003),linear-gradient(180deg,#4a2928 0 18%,#34402a 18% 82%,#223b50 82% 100%)!important}
  .battlefield-layout{display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important}
  .battlefield-layout>.board,.board{display:flex!important;flex-direction:column!important;gap:5px!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}

  .enemy-hq-row,.mobile-ally-hq-mount .ally-hq-row{display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important}
  .enemy-hq-row .battle-hq,.mobile-ally-hq-mount .battle-hq{display:flex!important;width:100%!important;max-width:none!important;height:132px!important;min-height:132px!important;max-height:132px!important;margin:0!important;border-width:1px!important;border-radius:10px!important;background-position:center 42%!important}
  .enemy-hq-row .hq-title,.mobile-ally-hq-mount .hq-title{min-width:0!important;max-width:64%!important;font-size:12px!important;padding:3px 8px!important}
  .enemy-hq-row .hq-info-overlay,.mobile-ally-hq-mount .hq-info-overlay{left:7px!important;right:7px!important;top:36px!important;display:flex!important;gap:3px!important;flex-wrap:wrap!important;max-width:58%!important}
  .enemy-hq-row .hq-stat-chip,.mobile-ally-hq-mount .hq-stat-chip{font-size:8px!important;padding:2px 4px!important}
  .enemy-hq-row .hq-advisor-slot,.mobile-ally-hq-mount .hq-advisor-slot{right:6px!important;top:37px!important;width:38%!important;height:54px!important;min-height:54px!important}
  .mobile-ally-hq-mount{display:block!important;order:2!important;width:100%!important;padding:5px!important;background:linear-gradient(180deg,#182a3a,#071018)!important;border-top:1px solid #6b4b25!important}
  .mobile-ally-hq-mount .ally-hq-turn{right:7px!important;bottom:5px!important}
  .mobile-ally-hq-mount .hq-advisor-console{z-index:150!important}

  .battlefield-layout .lane{display:block!important;width:100%!important;height:auto!important;min-height:88px!important;margin:0!important;padding:17px 4px 4px!important;border-radius:8px!important;overflow:visible!important}
  .battlefield-layout .lane .label{left:7px!important;top:3px!important;font-size:9px!important;line-height:12px!important}
  .battlefield-layout .slots,.battlefield-layout .slots.n4,.battlefield-layout .slots.n3,.battlefield-layout .slots.n2{display:grid!important;width:100%!important;max-width:none!important;height:68px!important;min-height:68px!important;gap:3px!important;margin:0!important;align-items:stretch!important}
  .battlefield-layout .slots.n4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .battlefield-layout .slots.n3{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding-inline:9%!important}
  .battlefield-layout .slots.n2{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding-inline:20%!important}
  .battlefield-layout .slot{width:100%!important;height:68px!important;min-height:68px!important;max-height:68px!important;border-radius:7px!important}
  .battlefield-layout .unit{height:100%!important;min-height:0!important;border-width:1px!important;border-radius:7px!important;grid-template-rows:16px minmax(0,1fr) 17px!important}
  .battlefield-layout .uname{height:16px!important;padding:1px 3px!important;font-size:8px!important;line-height:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .battlefield-layout .uimg{height:100%!important;min-height:0!important;font-size:17px!important}
  .battlefield-layout .stats{height:17px!important;padding:1px!important;font-size:8px!important;line-height:14px!important}
  .battlefield-layout .typeicon{left:2px!important;bottom:18px!important;min-width:16px!important;min-height:16px!important;padding:1px 2px!important;font-size:8px!important}
  .battlefield-layout .active-buff-badge,.battlefield-layout .smoke-buff{min-width:42px!important;max-width:calc(100% - 6px)!important;padding:1px 2px!important;font-size:6px!important;line-height:1.1!important}
  .battlefield-layout .lane .capture-tag{right:5px!important;top:2px!important;font-size:7px!important;padding:1px 4px!important}
  .river{height:24px!important;min-height:24px!important;margin:0!important;border-radius:7px!important;font-size:9px!important;letter-spacing:4px!important}
  .hq-defense-lane.active{min-height:92px!important;padding-top:17px!important}
  .hq-defense-lane .hq-battlefield-grid,.enemy-hq-defense-lane .hq-battlefield-grid{height:68px!important;min-height:68px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;padding:2px!important}
  .hq-defense-lane .hq-field-slot,.enemy-hq-defense-lane .hq-field-slot{height:64px!important;min-height:64px!important;max-height:64px!important}

  .mobile-hand-mount{display:block!important;order:3!important;position:sticky!important;bottom:calc(var(--mobile-action-height) + env(safe-area-inset-bottom,0px))!important;z-index:78!important;width:100%!important;height:var(--mobile-hand-height)!important;min-height:var(--mobile-hand-height)!important;max-height:var(--mobile-hand-height)!important;padding:0!important;background:#070b0df8!important;border-top:1px solid #8a5b28!important;box-shadow:0 -7px 20px #000c!important;backdrop-filter:blur(8px)}
  .mobile-hand-mount .right-hand-section{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important}
  .mobile-hand-mount .right-hand-section>.ornate-title{display:flex!important;flex:0 0 27px!important;height:27px!important;min-height:27px!important}
  .mobile-hand-mount .right-hand-section .handbox{display:block!important;flex:1!important;height:auto!important;min-height:0!important;padding:4px 5px 5px!important;overflow:hidden!important;background:transparent!important}
  .mobile-hand-mount .right-hand-section .handhead{display:none!important}
  .mobile-hand-mount #hand.hand{display:flex!important;grid-template-columns:none!important;width:100%!important;height:137px!important;min-height:137px!important;gap:5px!important;padding:1px 2px 8px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .mobile-hand-mount #hand.hand .card{flex:0 0 86px!important;width:86px!important;height:126px!important;min-height:126px!important;max-height:126px!important;display:grid!important;grid-template-rows:17px 67px minmax(0,1fr)!important;scroll-snap-align:start;border-radius:7px!important;overflow:hidden!important;transform:none}
  .mobile-hand-mount #hand.hand .card.selected,.mobile-hand-mount #hand.hand .card.selected-vivid{transform:translateY(-3px) scale(1.02)!important;z-index:8!important}
  .mobile-hand-mount #hand.hand .cname{font-size:8px!important;padding:1px 2px!important}
  .mobile-hand-mount #hand.hand .cimg{height:67px!important;min-height:67px!important}
  .mobile-hand-mount #hand.hand .cstats{padding:2px!important;gap:2px!important}
  .mobile-hand-mount #hand.hand .card-stat-grid{gap:2px!important}
  .mobile-hand-mount #hand.hand .card-stat-cell{min-height:27px!important;padding:1px!important}
  .mobile-hand-mount #hand.hand .card-stat-cell b{font-size:9px!important}
  .mobile-hand-mount #hand.hand .card-bottom-icons{gap:2px!important;padding:1px 2px!important;font-size:7px!important}
  .mobile-hand-mount #hand.hand .opening-hand-flipper{height:100%!important}
  .mobile-hand-mount #hand.hand .opening-card-face{border-radius:6px!important}
  .mobile-hand-mount .hand-title-arrow{min-width:30px!important;height:24px!important}

  .bottom-hud{display:block!important;order:4!important;position:sticky!important;bottom:0!important;z-index:82!important;width:100%!important;height:var(--mobile-action-height)!important;min-height:var(--mobile-action-height)!important;max-height:var(--mobile-action-height)!important;margin:0!important;padding:5px 6px calc(5px + env(safe-area-inset-bottom,0px))!important;border-top:1px solid #8a5b28!important;background:#070b0dfb!important;box-shadow:0 -5px 18px #000c!important}
  .bottom-hud .hud-status{display:block!important;width:100%!important;height:100%!important;padding:0!important;background:transparent!important}
  .bottom-hud .hud-status>:not(.hud-actions){display:none!important}
  .bottom-hud .hud-actions{display:grid!important;grid-template-columns:72px 1fr 1fr!important;gap:6px!important;width:100%!important;height:100%!important;min-width:0!important;margin:0!important}
  .bottom-hud .hud-actions .btn{display:block!important;width:100%!important;height:44px!important;min-height:44px!important;padding:5px 4px!important;border-radius:8px!important;font-size:11px!important;font-weight:950!important}
  .bottom-hud #battleControlBtn{order:1!important}
  .bottom-hud #shuffleBtn{order:2!important}
  .bottom-hud #endTurnBtn{order:3!important}

  .field-strategist-menu{position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(var(--mobile-hand-height) + var(--mobile-action-height) + 8px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-height:42vh!important;overflow-y:auto!important;z-index:180!important}
  #allyAdvisorConsole.skill-menu-open{position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(var(--mobile-hand-height) + var(--mobile-action-height) + 8px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-height:48vh!important;overflow-y:auto!important;z-index:181!important}
  .card-function-tooltip{display:none!important}
  .game-toast-wrap{top:calc(88px + env(safe-area-inset-top,0px))!important;width:calc(100vw - 18px)!important}

  .modal{align-items:flex-end!important;padding:0!important}
  .modalbox{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:14px 14px 0 0!important;margin:0!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}
  .deck-builder-box,.card-shop-box,.card-manager-box{height:92dvh!important;max-height:92dvh!important}
  .deck-builder-head,.manager-head,.card-shop-head{padding:10px!important;gap:7px!important}
  .deck-builder-main{grid-template-columns:1fr!important;grid-template-rows:minmax(170px,1fr) minmax(150px,.8fr)!important;min-height:0!important}
  .deck-builder-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px!important}
  .deck-builder-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px!important}
  .deck-builder-actions .btn{min-width:0!important;font-size:10px!important;padding:7px 4px!important}
  .card-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  @media (orientation:landscape){
    :root{--mobile-hand-height:146px;--mobile-action-height:52px}
    .mobile-brand-row{height:38px}
    .mobile-combat-summary{height:34px}
    .mobile-jump-nav{height:30px}
    .battlefield-layout .lane{min-height:79px!important}
    .battlefield-layout .slots,.battlefield-layout .slots.n4,.battlefield-layout .slots.n3,.battlefield-layout .slots.n2{height:60px!important;min-height:60px!important}
    .battlefield-layout .slot{height:60px!important;min-height:60px!important;max-height:60px!important}
    .mobile-hand-mount #hand.hand{height:109px!important;min-height:109px!important}
    .mobile-hand-mount #hand.hand .card{height:100px!important;min-height:100px!important;max-height:100px!important;grid-template-rows:15px 50px 1fr!important}
    .mobile-hand-mount #hand.hand .cimg{height:50px!important;min-height:50px!important}
    .bottom-hud .hud-actions .btn{height:39px!important;min-height:39px!important}
  }
}
@media (max-width:850px){
  #enemyHq,#board,#allyHq,#hand{scroll-margin-top:126px}
}
@media (max-width:850px){
  .battlefield-layout .hq-defense-lane[hidden],
  .battlefield-layout .hq-defense-lane.inactive{display:none!important}
  .battlefield-layout .hq-defense-lane.active{display:block!important}
  #enemyBaseSlot,#allyBaseSlot{
    width:100%!important;max-width:100%!important;min-width:0!important;
    overflow:hidden!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  #enemyBaseSlot>.hq-field-slot,#allyBaseSlot>.hq-field-slot{width:auto!important;min-width:0!important;max-width:100%!important}
}
@media (max-width:850px){
  .modal{z-index:500!important}
}
@media (max-width:850px){
  body:not(.prebattle) .mobile-game-header{position:fixed!important;top:0!important;left:0!important;right:0!important}
  body:not(.prebattle) .app{padding-top:123px!important}
}
@media (max-width:850px) and (orientation:landscape){
  body:not(.prebattle) .app{padding-top:102px!important}
}
