/* 营地 / 本层结算
   拆分自 index.html（原第 414~522 行）· 修改后请勿跨文件重复定义同名选择器 */
/* ============================================================
   营地
   ============================================================ */
#campOverlay .camp-panel{
  width:min(640px,95vw); max-height:86vh; padding:18px 18px 16px;
  display:flex; flex-direction:column;
  background:linear-gradient(180deg,#18222f,#0c121a);
  border:1px solid var(--line2); border-radius:20px;
  box-shadow:var(--sh3), inset 0 1px 0 rgba(255,255,255,.07);
  animation:panelIn .28s cubic-bezier(.2,.9,.3,1.15);
}
@keyframes panelIn{ from{ transform:translateY(14px) scale(.97); opacity:0; } to{ transform:none; opacity:1; } }
.camp-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.camp-tabs{
  display:flex; gap:4px; padding:3px; border-radius:11px;
  background:rgba(0,0,0,.42); border:1px solid var(--line);
}
.camp-tab{
  background:transparent; border:none; cursor:pointer; font-family:inherit;
  color:var(--muted); padding:7px 13px; border-radius:8px;
  font-size:12.5px; font-weight:800; letter-spacing:.5px;
  transition:all .16s;
}
.camp-tab:hover{ color:var(--text); }
.camp-tab.active{
  background:linear-gradient(180deg,rgba(90,169,255,.95), var(--azure2));
  color:#fff; box-shadow:0 3px 12px rgba(37,99,216,.45);
}
.shop-gold{
  font-size:13px; font-weight:800; color:var(--gold); font-family:var(--font-num);
  white-space:nowrap; padding:5px 13px; border-radius:20px;
  background:rgba(245,196,81,.1); border:1px solid rgba(245,196,81,.26);
}
.camp-sub{ font-size:11px; color:var(--dim); margin:9px 0 11px; letter-spacing:.4px; }
.camp-body{
  flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding-right:4px;
  scrollbar-width:thin; scrollbar-color:var(--line2) transparent;
}
.camp-body::-webkit-scrollbar{ width:7px; }
.camp-body::-webkit-scrollbar-thumb{ background:var(--line2); border-radius:4px; }

.shop-item{
  display:flex; align-items:center; gap:11px; padding:10px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  border:1px solid var(--line); border-radius:var(--r-m);
  transition:border-color .16s, transform .16s, background .16s;
}
.shop-item:hover{ border-color:var(--line3); background:rgba(255,255,255,.055); transform:translateX(2px); }
.si-icon{
  width:36px; height:36px; flex:none; border-radius:9px; font-size:19px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.06);
}
.si-body{ flex:1; min-width:0; }
.si-name{ font-size:13px; font-weight:800; margin-bottom:2px; letter-spacing:.3px; }
.si-desc{ font-size:11px; color:var(--muted); line-height:1.45; }
.si-buy, .si-act{
  border:none; cursor:pointer; font-family:inherit; white-space:nowrap;
  padding:8px 13px; border-radius:9px; font-size:11.5px; font-weight:800;
  color:#20160a; background:linear-gradient(180deg,#ffe79c, var(--gold2));
  box-shadow:0 3px 12px rgba(245,196,81,.25);
  transition:transform .1s, filter .16s;
}
.si-act.blue{
  color:#fff; background:linear-gradient(180deg,#5aa9ff, var(--azure2));
  box-shadow:0 3px 12px rgba(37,99,216,.28);
}
.si-act.grey{ color:var(--muted); background:rgba(255,255,255,.07); box-shadow:none; }
.si-act.crystal{
  color:#04202c; background:linear-gradient(180deg,#c9f0ff,#7fd8ff 60%,#3d9dc2);
  box-shadow:0 3px 12px rgba(127,216,255,.3);
}
.si-buy:hover, .si-act:hover{ filter:brightness(1.08); }
.si-buy:active, .si-act:active{ transform:scale(.95); }
.si-buy:disabled, .si-act:disabled{ opacity:.3; cursor:not-allowed; filter:grayscale(.55); box-shadow:none; }
.si-buy .price{ display:block; font-size:9.5px; opacity:.82; font-family:var(--font-num); }

.affix-tag{
  display:inline-block; font-size:9.5px; font-weight:700;
  color:#8ec7ff; background:rgba(90,169,255,.13); border:1px solid rgba(90,169,255,.2);
  border-radius:5px; padding:1px 5px; margin:3px 4px 0 0;
}
.empty-note{ text-align:center; color:var(--dim); font-size:12.5px; padding:36px 0; letter-spacing:1px; }

/* ============================================================
   结算
   ============================================================ */
.dead-title, .clear-title{
  font-size:clamp(22px,4.8vw,32px); font-weight:900; letter-spacing:4px;
}
.dead-title{ color:var(--blood); text-shadow:0 0 30px rgba(255,92,82,.35); }
.dead-title.quit{ color:var(--text2); text-shadow:0 0 26px rgba(150,168,196,.20); }
.clear-title{ color:var(--gold); text-shadow:0 0 30px rgba(245,196,81,.35); }
.dead-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:4px 0; }
.dead-cell{
  padding:12px 18px; min-width:84px; text-align:center; border-radius:var(--r-m);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  border:1px solid var(--line);
}
.dead-cell .dl{ font-size:10.5px; color:var(--muted); margin-bottom:4px; letter-spacing:1px; }
.dead-cell .dv{ font-size:23px; font-weight:900; font-family:var(--font-num); }

/* —— 本层结算：与死亡 / 局内退出共用同一套卡片与按钮语言 —— */
#clearOverlay{ overflow-y:auto; }
.clear-panel{ display:flex; flex-direction:column; align-items:center; gap:13px; margin:auto 0; }
.clear-sub{ font-size:11.5px; color:var(--muted); letter-spacing:1.4px; font-weight:700; margin-top:-4px; }
.clear-actions{ display:flex; flex-direction:column; gap:10px; width:232px; margin-top:2px; }
.clear-hint{
  font-size:11px; color:var(--dim); letter-spacing:.7px; text-align:center;
  margin-top:2px; line-height:1.7;
}
.clear-hint b{ color:#5fd6a0; font-weight:800; }


/* ============================================================
   魂晶祭坛（M3.3）
   ============================================================ */
.altar-head{
  display:flex; align-items:center; gap:12px; margin-bottom:12px;
  padding:12px 14px; border-radius:var(--r-m);
  background:linear-gradient(135deg, rgba(127,216,255,.10), rgba(127,216,255,.02));
  border:1px solid rgba(127,216,255,.22);
}
.altar-head .ah-icon{ font-size:26px; filter:drop-shadow(0 0 10px rgba(127,216,255,.55)); }
.altar-head .ah-body{ flex:1; }
.altar-head .ah-title{ font-size:14px; font-weight:800; letter-spacing:1px; color:#bfeaff; }
.altar-head .ah-desc{ font-size:11px; color:var(--muted); line-height:1.65; margin-top:3px; }
.altar-head .ah-desc b{ color:#7fd8ff; }
.altar-head .ah-own{ text-align:center; }
.altar-head .ah-n{
  display:block; font-family:var(--font-num); font-size:20px; font-weight:800;
  color:#c9f0ff; line-height:1.1; text-shadow:0 0 14px rgba(127,216,255,.6);
}
.altar-head .ah-u{ font-size:9.5px; color:var(--dim); letter-spacing:.5px; }

/* 等级刻度：一排小方格，比数字更快读出"还差几级满" */
.altar-pips{ display:flex; gap:3px; margin-top:6px; }
.altar-pips i{
  width:9px; height:4px; border-radius:2px; background:rgba(255,255,255,.12);
}
.altar-pips i.on{ background:#7fd8ff; box-shadow:0 0 8px rgba(127,216,255,.7); }

.altar-note{
  margin-top:10px; font-size:10.5px; color:var(--dim);
  text-align:center; letter-spacing:.4px; line-height:1.8;
}
.altar-note b{ color:#9fe4ff; }
