/*  SIG CONQUEST V2 — console.css
    관리자 콘솔 (스텝 위자드 방식)
    ──────────────────────────────────────── */

.console-body{
  background:#070b18;
  padding:16px;
  min-height:100vh;
}

.consoleWrap{
  max-width:1500px;
  margin:0 auto;
  padding-bottom:80px;
}

/* ── 헤더 ────────────────────────────── */

.consoleHeader{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:14px;
}

.consoleTitle{font-size:24px;font-weight:900;color:#20a8ff;}
.consoleSub{font-size:11px;color:var(--text-muted);margin-top:2px;}

/* ── 패널 공통 ───────────────────────── */

.panel{
  background:#0e1424;
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  margin-bottom:12px;
}

.panelTitle{
  font-size:15px;font-weight:800;color:#cfe1ff;
  margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}

/* ═══ 턴 순서 바 ════════════════════════ */

.turn-order-bar{
  display:flex;flex-wrap:wrap;gap:6px;
  align-items:center;
  margin-bottom:14px;
  padding:10px 14px;
  background:#0a0e1a;
  border-radius:12px;
}

.turn-chip{
  display:flex;align-items:center;justify-content:center;
  min-width:40px;height:32px;
  border-radius:16px;
  padding:0 8px;
  font-size:12px;font-weight:900;
  border:2px solid rgba(255,255,255,.2);
  transition:.2s;
  cursor:default;
  color:white;
}

.turn-chip.active{
  transform:scale(1.25);
  border-color:white;
  box-shadow:0 0 12px currentColor;
}

.turn-chip.bankrupt{
  opacity:.25;
  text-decoration:line-through;
}

.turn-arrow{
  color:var(--text-muted);font-size:12px;
}

/* ═══ ZONE A: 스텝 위자드 ═══════════════ */

.step-wizard{
  display:flex;gap:12px;
  margin-bottom:14px;
}

.step-panel{
  flex:1;
  background:#0a0e1a;
  border:2px solid var(--border);
  border-radius:14px;
  padding:16px;
  opacity:.3;
  transition:.3s;
  position:relative;
  filter:grayscale(.5);
}

.step-panel.active{
  opacity:1;
  filter:none;
  border-color:#00ccff;
  border-width:3px;
  box-shadow:0 0 24px rgba(0,204,255,.3), inset 0 0 30px rgba(0,204,255,.05);
  background:linear-gradient(135deg, #0a1428, #0d1a35);
}

.step-panel.done{
  opacity:.55;
  filter:grayscale(.3);
  border-color:rgba(85,204,255,.4);
}

.step-header{
  display:flex;align-items:center;gap:8px;
  margin-bottom:12px;
  font-size:14px;font-weight:800;
  color:#667;
  transition:.3s;
}

.step-panel.active .step-header{
  color:white;
  font-size:16px;
}

.step-num{
  width:32px;height:32px;
  border-radius:50%;
  background:#334;
  color:#888;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:900;
  transition:.3s;
}

.step-panel.active .step-num{
  background:var(--primary);
  color:white;
  box-shadow:0 0 12px var(--primary);
}

.step-panel.done .step-num{
  background:rgba(85,204,255,.5);
  color:white;
}
.step-panel.done .step-num::after{
  content:'✓';
}

.step-body{
  min-height:80px;
}

/* 활성 단계 내부 버튼 크게 */
.step-panel.active .btn-big{
  font-size:18px;
  padding:16px 24px;
  min-height:60px;
}

/* 수동 주사위 그리드 */
.dice-manual{
  display:flex;gap:16px;margin-top:10px;
}

.dice-col{
  display:flex;flex-direction:column;gap:4px;
  align-items:center;
}

.dice-col-label{
  font-size:11px;color:var(--text-muted);font-weight:700;
  margin-bottom:2px;
}

.dice-num-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
}

.dice-num{
  width:36px;height:36px;
  border-radius:8px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--border);
  color:var(--text);
  font-size:16px;font-weight:900;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:.15s;
}

.dice-num:hover{background:rgba(32,168,255,.2);}
.dice-num.selected{
  background:rgba(32,168,255,.35);
  border-color:var(--primary);
  color:white;
}

.dice-preview{
  font-size:18px;font-weight:900;
  text-align:center;
  margin-top:10px;
  color:var(--warning);
}

/* ═══ 액션 카드 ═════════════════════════ */

.action-card{
  background:#0d1530;
  border:2px solid var(--border);
  border-radius:14px;
  padding:16px;
  animation:popIn .25s ease-out;
}

@keyframes popIn{
  from{opacity:0;transform:scale(.95);}
  to{opacity:1;transform:scale(1);}
}

.action-card.buy   { border-color:rgba(85,204,255,.4); }
.action-card.upgrade{ border-color:rgba(85,204,255,.4); }
.action-card.toll  { border-color:rgba(255,43,85,.4); }
.action-card.event { border-color:rgba(255,215,0,.4); }
.action-card.travel{ border-color:rgba(204,68,255,.4); }
.action-card.jail  { border-color:rgba(255,43,85,.4); }

.action-title{
  font-size:18px;font-weight:900;
  margin-bottom:12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
}

.action-detail{
  margin-bottom:14px;
}

.action-tile-name{
  font-size:16px;font-weight:900;
  margin-bottom:8px;
  color:var(--warning);
}

.action-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:4px 0;
  font-size:14px;
}

.action-row span{color:var(--text-muted);}

.action-btns{
  display:flex;gap:10px;
  margin-top:8px;
}

.action-btn{
  flex:1;
  padding:14px 20px;
  border-radius:12px;
  font-size:16px;font-weight:900;
  cursor:pointer;
  border:2px solid var(--border);
  transition:.15s;
  text-align:center;
}

.action-btn:hover{transform:scale(1.02);}
.action-btn:active{transform:scale(.98);}

.action-btn-yes{
  background:rgba(85,204,255,.2);
  border-color:rgba(85,204,255,.5);
  color:#88ddff;
}
.action-btn-yes:hover{background:rgba(85,204,255,.35);}

.action-btn-no{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.15);
  color:var(--text-muted);
}
.action-btn-no:hover{background:rgba(255,255,255,.12);}

.action-btn-danger{
  background:rgba(255,43,85,.2);
  border-color:rgba(255,43,85,.5);
  color:#ff6b8a;
}
.action-btn-danger:hover{background:rgba(255,43,85,.35);}

.action-btn-purple{
  background:rgba(204,68,255,.2);
  border-color:rgba(204,68,255,.5);
  color:#dd88ff;
}
.action-btn-purple:hover{background:rgba(204,68,255,.35);}

.action-btn-event{
  background:rgba(255,215,0,.2);
  border-color:rgba(255,215,0,.5);
  color:#ffe44d;
}
.action-btn-event:hover{background:rgba(255,215,0,.35);}

/* 액션 패널 — 칸 선택 그리드 */
.tile-select-grid{
  display:flex;flex-wrap:wrap;gap:4px;
  margin-top:8px;
  max-height:200px;
  overflow-y:auto;
}

.tile-select-btn{
  padding:6px 10px;
  border-radius:6px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--border);
  color:var(--text);
  font-size:11px;font-weight:700;
  cursor:pointer;
  transition:.15s;
}

.tile-select-btn:hover{background:rgba(32,168,255,.2);}
.tile-select-btn.selected{
  background:rgba(32,168,255,.3);
  border-color:var(--primary);
}

/* ═══ 턴 종료 버튼 ═════════════════════ */

.turn-end-area{
  text-align:center;
  margin-bottom:14px;
}

.turn-end-area .btn-huge:not(:disabled){
  box-shadow:0 0 20px rgba(32,168,255,.3);
}

.turn-end-area .btn-huge.warning:not(:disabled){
  box-shadow:0 0 20px rgba(255,215,0,.3);
}

/* ═══ ZONE B: 자산 현황 카드 ════════════ */

.asset-cards{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:14px;
}

.asset-card{
  background:#0a0e1a;
  border:2px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:10px 14px;
  min-width:140px;
  flex:1;
  max-width:200px;
  transition:.2s;
}

.asset-card.active{
  border-width:3px;
  box-shadow:0 0 12px var(--pc);
}

.asset-card.bankrupt{opacity:.3;}

.ac-name{font-size:14px;font-weight:900;margin-bottom:4px;}
.ac-money{font-size:13px;color:var(--warning);font-weight:800;}
.ac-detail{font-size:11px;color:var(--text-muted);margin-top:3px;}

/* ═══ ZONE C: 아코디언 ═════════════════ */

.accordion{
  margin-bottom:10px;
}

.accordion-header{
  display:flex;justify-content:space-between;align-items:center;
  background:#0e1424;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 16px;
  cursor:pointer;
  font-size:15px;font-weight:800;color:#cfe1ff;
  transition:.2s;
}

.accordion-header:hover{background:#121830;}

.accordion-arrow{
  transition:transform .3s;
  color:var(--text-muted);
}

.accordion.open .accordion-arrow{
  transform:rotate(90deg);
}

.accordion-body{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}

.accordion.open .accordion-body{
  max-height:2000px;
}

.accordion-content{
  padding:14px;
  background:#0a0e1a;
  border:1px solid var(--border);
  border-top:none;
  border-radius:0 0 12px 12px;
}

/* ── 플레이어 선택 탭 ────────────────── */

.player-tabs{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-bottom:12px;
}

.player-tab{
  width:40px;height:40px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:900;
  color:white;
  cursor:pointer;
  transition:.2s;
}

.player-tab:hover{border-color:rgba(255,255,255,.4);}
.player-tab.selected{
  border-color:white;
  transform:scale(1.15);
  box-shadow:0 0 10px currentColor;
}

/* ── 금액 조정 버튼 ──────────────────── */

.money-adjust{
  display:flex;align-items:center;gap:4px;
  flex-wrap:wrap;
}

.money-adj-btn{
  padding:6px 12px;
  border-radius:6px;
  font-size:12px;font-weight:700;
  cursor:pointer;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  transition:.15s;
}

.money-adj-btn:hover{background:rgba(255,255,255,.1);}
.money-adj-btn.minus{color:#ff6b8a;}
.money-adj-btn.plus{color:#66ffbb;}

.money-display{
  font-size:18px;font-weight:900;
  color:var(--warning);
  min-width:100px;text-align:center;
}

/* ── 미니맵 ──────────────────────────── */

.minimap{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:repeat(8,1fr);
  gap:2px;
  width:100%;
  max-width:700px;
  aspect-ratio:12/8;
  margin:10px auto;
}

.mm-cell{
  border-radius:3px;
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;
  cursor:pointer;
  transition:.15s;
  color:var(--text);
  position:relative;
  background:var(--bg-cell);
}

.mm-cell:hover{border-color:var(--primary);background:rgba(32,168,255,.15);}
.mm-cell.selected{
  border-color:white;
  box-shadow:0 0 6px white;
  z-index:2;
}

.mm-center{
  grid-column:2/12;
  grid-row:2/8;
  border:none;
  background:transparent;
  pointer-events:none;
  cursor:default;
}

/* ── SIG 이미지 관리 ─────────────────── */

.sig-upload-zone{
  border:2px dashed rgba(255,255,255,.15);
  border-radius:12px;
  padding:20px;
  text-align:center;
  cursor:pointer;
  transition:.2s;
}

.sig-upload-zone:hover,.sig-upload-zone.drag-over{
  background:rgba(255,255,255,.04);
  border-color:var(--primary);
}

.sig-grid{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:12px;
}

.sig-card{
  width:80px;
  background:#0a0e1a;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  text-align:center;
  font-size:9px;
  position:relative;
}

.sig-card img{
  width:80px;height:60px;
  object-fit:cover;
}

.sig-card-name{
  padding:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sig-card-del{
  position:absolute;top:2px;right:2px;
  width:18px;height:18px;
  border-radius:50%;
  background:rgba(255,0,0,.6);
  color:white;font-size:12px;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}

/* ── 로그 ────────────────────────────── */

.console-log{
  background:#060810;
  padding:10px;
  border-radius:10px;
  height:200px;
  overflow:auto;
  font-family:monospace;
  font-size:11px;
  white-space:pre-wrap;
}

/* ═══ 하단 고정바 ═══════════════════════ */

.sticky-footer{
  position:fixed;
  bottom:0;left:0;right:0;
  background:rgba(7,11,24,.95);
  border-top:1px solid var(--border);
  padding:10px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:100;
  backdrop-filter:blur(8px);
}

.footer-left{display:flex;gap:8px;align-items:center;}
.footer-right{font-size:13px;font-weight:700;color:var(--text-muted);}

/* ── 게임 설명 드롭다운 ──────────────── */

.rules-dropdown{
  position:relative;
  display:inline-block;
}

.rules-menu{
  display:none;
  position:absolute;
  bottom:100%;left:0;
  background:#0e1424;
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px;
  margin-bottom:6px;
  min-width:180px;
  z-index:110;
}

.rules-dropdown.open .rules-menu{display:block;}

.rules-menu-item{
  padding:8px 12px;
  border-radius:6px;
  font-size:13px;font-weight:700;
  cursor:pointer;
  transition:.15s;
}

.rules-menu-item:hover{background:rgba(32,168,255,.15);}
.rules-menu-item.active{color:var(--primary);}

/* ═══ 반응형 ════════════════════════════ */

@media (max-width:900px){
  .step-wizard{flex-direction:column;}
  .asset-card{max-width:none;min-width:0;}
}
