.pname{color:#ead0ff;font-weight:700;font-size:16px;}
.plvl{background:rgba(120,70,200,0.28);border:1px solid rgba(160,110,240,0.35);border-radius:4px;padding:1px 7px;font-size:14px;color:#c090ff;font-weight:600;}
.pacct{background:rgba(40,80,60,0.28);border:1px solid rgba(60,160,100,0.35);border-radius:4px;padding:1px 7px;font-size:13px;color:#70c090;font-weight:500;cursor:pointer;transition:background .15s;}
.pacct:hover{background:rgba(40,80,60,0.5);}

.blbl{font-size:14px;width:28px;font-weight:600;}
.btrk{flex:1;border-radius:3px;overflow:hidden;background:rgba(255,255,255,0.07);}
.bfil{height:100%;border-radius:3px;transition:width .4s ease;}
#hb .btrk{height:7px;}#mpb .btrk{height:7px;}#xb .btrk{height:5px;}
#hb .bfil{background:linear-gradient(90deg,#b02020,#e84040);}
#mpb .bfil{background:linear-gradient(90deg,#2040b0,#4060e0);}
#xb .bfil{background:linear-gradient(90deg,#706010,#c0a010);}
.bval{font-size:14px;width:60px;text-align:right;}
.hp-c{color:#f07070;}.hp-l{color:#e05050;}
.mp-c{color:#8090e8;}.mp-l{color:#5060d0;}
.xp-c{color:#c09030;}.xp-l{color:#a07010;}

#histbtn{
  position:absolute;top:8px;right:8px;z-index:5;
  background:rgba(14,8,28,0.82);backdrop-filter:blur(6px);
  border:1px solid rgba(160,110,240,0.28);border-radius:7px;
  color:#c090ff;padding:5px 10px;cursor:pointer;
  font-size:14px;font-family:inherit;display:flex;align-items:center;gap:4px;
  transition:border-color .15s;
}
#histbtn:hover{border-color:rgba(200,150,255,0.55);}

.msg{animation:fadeIn .3s ease;margin-bottom:8px;font-size:16px;line-height:1.75;}
.msg .tag{display:inline-block;font-size:14px;font-weight:700;border-radius:3px;padding:1px 6px;margin-right:6px;color:#080610;}
.msg.story span{color:#fce18d;}
.msg.sys .tag{background:#38a0c8;}.msg.sys span{color:#80c8e8;}
.msg.bat .tag{background:#c83838;}.msg.bat span{color:#f06060;}
.msg.loot .tag{background:#38c878;}.msg.loot span{color:#70e8a0;}
.msg.ai span{color:#f5dfb8;font-style:italic;border-left:2px solid rgba(245,158,11,0.5);padding-left:7px;display:inline-block;}
.msg.typing span::after{content:'▋';animation:blink .7s infinite;}

.sittag{border-radius:5px;padding:3px 14px;font-size:14px;font-weight:600;letter-spacing:.07em;border:1px solid;display:inline-block;}
.sittag.battle{background:rgba(180,40,40,0.2);border-color:rgba(200,60,60,0.4);color:#f07070;}
.sittag.explore{background:rgba(40,120,180,0.2);border-color:rgba(60,140,200,0.4);color:#80c0e8;}
.sittag.safe{background:rgba(40,180,80,0.2);border-color:rgba(60,200,100,0.4);color:#70e090;}

.abtn{
  border-radius:9px;padding:10px 7px;cursor:pointer;
  font-size:15px;font-weight:700;font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:6px;
  background:rgba(16,10,32,0.8);transition:all .15s;
  border:1px solid transparent;
}
.abtn:disabled{opacity:.3;cursor:not-allowed;}
.abtn.atk{border-color:rgba(200,50,50,.32);color:#d84040;}
.abtn.atk:not(:disabled):hover{background:rgba(200,50,50,.14);}
.abtn.skl{border-color:rgba(200,110,50,.32);color:#d07030;}
.abtn.skl:not(:disabled):hover{background:rgba(200,110,50,.14);}
.abtn.itm{border-color:rgba(50,120,200,.32);color:#4080c8;}
.abtn.itm:not(:disabled):hover{background:rgba(50,120,200,.14);}
.abtn.esc{border-color:rgba(100,100,100,.32);color:#787878;}
.abtn.esc:not(:disabled):hover{background:rgba(100,100,100,.12);}
.abtn.exp{border-color:rgba(50,140,200,.32);color:#40a0c8;grid-column:1/-1;}
.abtn.exp:not(:disabled):hover{background:rgba(50,140,200,.14);}
.abtn.rst{border-color:rgba(50,180,90,.32);color:#40c870;grid-column:1/-1;}
.abtn.rst:not(:disabled):hover{background:rgba(50,180,90,.14);}
.abtn.back{border-color:rgba(120,90,180,.32);color:#9070c0;grid-column:1/-1;}
.abtn.back:not(:disabled):hover{background:rgba(120,90,180,.12);}
.abtn.sys-menu{border-color:rgba(160,140,80,.32);color:#d0b860;grid-column:1/-1;}
.abtn.sys-menu:not(:disabled):hover{background:rgba(160,140,80,.14);}

/* ── Phase 7：六法大連鎖 Raid Panel（巨龍三階段護盾）── */
.raid-panel-title{
  grid-column:1/-1;text-align:center;padding:8px 6px;
  border-radius:9px;font-size:14px;font-weight:700;
  background:rgba(120,40,200,.16);border:1px solid rgba(160,90,230,.4);color:#c8a0f0;
}
.abtn.raid-cmd{border-color:rgba(120,90,180,.28);color:#9070c0;}
.abtn.raid-cmd.active{
  border-color:rgba(160,90,230,.7);color:#e0c8ff;
  background:rgba(120,40,200,.22);
  animation:raidPulse 1.2s ease-in-out infinite;
}
.abtn.raid-cmd.active:hover{background:rgba(120,40,200,.34);}
.abtn.raid-cmd.fallen{color:#806080;}
@keyframes raidPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(160,90,230,.4);}
  50%{box-shadow:0 0 0 6px rgba(160,90,230,0);}
}

/* ── PARTY HUD (Phase 2) ── */
#sbar-acct{text-align:right;margin-bottom:3px;}
#party-hud{display:flex;flex-direction:column;gap:5px;}

.member-row{
  display:flex;align-items:center;gap:8px;
  padding:5px 6px;border-radius:7px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(120,80,180,0.12);
  cursor:pointer;transition:background .15s;
}
.member-row:hover{background:rgba(30,18,56,0.5);}
.member-row.m-dispersed{opacity:.5;filter:grayscale(.6);}
.member-icon{font-size:20px;flex-shrink:0;width:26px;text-align:center;}
.member-bars{flex:1;min-width:0;}
.member-name{font-size:13px;color:#d0b8f0;font-weight:600;display:flex;align-items:center;gap:5px;margin-bottom:2px;}
.member-lv{font-size:11px;color:#8060b0;font-weight:400;}
.m-dis-tag{background:rgba(180,40,40,0.3);border:1px solid rgba(200,60,60,0.35);border-radius:3px;padding:0 4px;font-size:10px;color:#d06060;}
.member-row .brow{margin-bottom:2px;height:14px;}
.member-row .btrk{height:5px;}
.member-row-compact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(140, 90, 200, 0.2);
  border-radius: 6px;
  margin-bottom: 4px;
  cursor: pointer;
  font-size: 13px;
}
.member-row-compact.m-dispersed{opacity:.5;filter:grayscale(.6);}
.mrc-info { display: flex; gap: 6px; align-items: center; }
.mrc-name { font-weight: bold; color: #e0d0ff; }
.mrc-lv { color: rgba(160, 140, 200, 0.8); font-size: 11px; }
.mrc-stats { display: flex; gap: 10px; font-family: monospace; }
.bfil-hp{background:linear-gradient(90deg,#b02020,#e84040);}
.bfil-mp{background:linear-gradient(90deg,#2040b0,#4060e0);}
.bfil-xp{background:linear-gradient(90deg,#706010,#c0a010);}
.bfil-dis{background:linear-gradient(90deg,#503030,#806060);}

/* ── CHAR PANEL TABS (Phase 2) ── */
.char-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(120,80,180,0.15);}
.char-tab{
  padding:5px 11px;border-radius:6px;cursor:pointer;font-size:13px;
  background:rgba(16,10,32,0.5);border:1px solid rgba(120,80,180,0.25);
  color:rgba(180,140,220,0.55);font-family:inherit;transition:all .15s;
}
.char-tab.active{background:rgba(120,70,200,0.22);border-color:rgba(160,110,240,0.5);color:#c090ff;}
.char-tab:hover:not(.active){background:rgba(40,24,70,0.4);}

/* ── PARTY MGMT & TEMPLE OVERLAYS (Phase 2) ── */
.member-card{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:8px;margin-bottom:8px;
  background:rgba(20,12,40,0.5);border:1px solid rgba(120,80,180,0.2);
}
.member-card.mc-empty{border-style:dashed;opacity:.45;}
.member-card.mc-dispersed{border-color:rgba(200,60,60,0.3);}
.mc-icon{font-size:22px;flex-shrink:0;}
.mc-info{flex:1;}
.mc-name{font-size:15px;font-weight:700;color:#ead0ff;}
.mc-status{font-size:12px;color:rgba(180,140,200,0.55);margin-top:2px;}
.mc-dispersed .mc-name{color:#c07070;}
.mc-acts{display:flex;gap:6px;flex-shrink:0;}

.panel-btn{
  padding:6px 13px;border-radius:6px;cursor:pointer;font-size:13px;
  background:rgba(120,70,200,0.12);border:1px solid rgba(160,110,240,0.32);
  color:#b080e8;font-family:inherit;transition:all .15s;white-space:nowrap;
}
.panel-btn:hover{background:rgba(120,70,200,0.26);}
.panel-btn:disabled{opacity:.35;cursor:not-allowed;}
.panel-btn.danger{background:rgba(180,50,50,0.1);border-color:rgba(200,70,70,0.3);color:#d07070;}
.panel-btn.danger:hover{background:rgba(180,50,50,0.22);}
.panel-btn.confirm{background:rgba(50,160,80,0.12);border-color:rgba(70,200,100,0.3);color:#70c080;}
.panel-btn.confirm:hover{background:rgba(50,160,80,0.26);}
.panel-btn.confirm:disabled{background:rgba(50,160,80,0.04);}

.section-sep{border:none;border-top:1px solid rgba(120,80,180,0.14);margin:12px 0;}
.panel-hint{font-size:13px;color:rgba(180,140,200,0.45);margin-bottom:10px;line-height:1.6;}

/* 探索模式按鈕 */
.abtn.hall{border-color:rgba(180,120,60,.30);color:#c09060;}
.abtn.hall:not(:disabled):hover{background:rgba(180,120,60,.12);}
.abtn.tpl{border-color:rgba(140,80,200,.30);color:#a070c8;}
.abtn.tpl:not(:disabled):hover{background:rgba(140,80,200,.12);}

/* Phase 4 — 方向/裂隙/修復/傳送按鈕 */
.abtn.dir{border-color:rgba(60,140,200,.30);color:#60b0e0;}
.abtn.dir:not(:disabled):hover{background:rgba(60,140,200,.12);}
.abtn.fissure{border-color:rgba(100,60,220,.40);color:#9060e8;grid-column:1/-1;
  background:rgba(80,40,160,0.08);letter-spacing:.04em;}
.abtn.fissure:not(:disabled):hover{background:rgba(100,60,220,.18);}
.abtn.repair{border-color:rgba(200,140,40,.38);color:#d0a040;grid-column:1/-1;}
.abtn.repair:not(:disabled):hover{background:rgba(200,140,40,.12);}
.abtn.teleport{border-color:rgba(40,200,180,.35);color:#40c8b8;grid-column:1/-1;}
.abtn.teleport:not(:disabled):hover{background:rgba(40,200,180,.12);}

/* Phase 6 — 折疊水路傳送 */
.abtn.waterway{border-color:rgba(40,140,220,.40);color:#50a8e8;grid-column:1/-1;}
.abtn.waterway:not(:disabled):hover{background:rgba(40,140,220,.14);}

/* Phase 5-D — 風水尋龍引路 */
.btn-fengshui-glow{
  border-color:rgba(220,170,50,.65)!important;
  color:#e8c840!important;
  box-shadow:0 0 10px rgba(220,170,40,.30), inset 0 0 8px rgba(220,170,40,.08);
  animation:fengshuiPulse 2.2s ease-in-out infinite;
}
@keyframes fengshuiPulse{
  0%,100%{box-shadow:0 0 8px rgba(220,170,40,.25),inset 0 0 6px rgba(220,170,40,.06);}
  50%{box-shadow:0 0 16px rgba(220,170,40,.50),inset 0 0 12px rgba(220,170,40,.14);}
}
.fengshui-compass{
  grid-column:1/-1;padding:6px 12px;border-radius:6px;font-size:13px;
  background:rgba(220,170,30,.08);border:1px solid rgba(220,170,30,.25);
  color:rgba(220,190,80,.85);margin-bottom:2px;
}
.env-status{
  grid-column:1/-1;padding:4px 12px;font-size:12px;
  color:rgba(160,140,200,.45);letter-spacing:.03em;margin-bottom:2px;
}

/* Phase 4 — 修復面板 */
.repair-check-row{
  padding:10px 12px;border-radius:8px;margin-bottom:8px;
  background:rgba(20,12,40,0.5);border:1px solid rgba(200,140,40,0.2);
}
.repair-check-row.rc-done{border-color:rgba(50,200,80,0.25);opacity:.7;}
.rc-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.rc-badge{font-size:16px;}
.rc-type{font-size:15px;font-weight:700;color:#d0a040;}
.rc-done .rc-type{color:#60c870;}
.rc-dc{font-size:12px;color:rgba(180,140,200,0.5);margin-left:auto;}
.rc-desc{font-size:13px;color:rgba(220,180,255,0.65);margin-bottom:5px;}
.rc-capable{font-size:12px;color:rgba(180,140,200,0.45);margin-bottom:6px;}

/* ── SCORE / TOAST ── */
#save-toast{
  position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(10px);
  background:rgba(40,80,60,0.9);border:1px solid rgba(56,200,100,0.35);
  border-radius:8px;padding:7px 18px;font-size:14px;color:#70e0a0;
  opacity:0;transition:all .35s;z-index:300;pointer-events:none;
  white-space:nowrap;
}
#save-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── Phase 5 — 職業屬相標籤 ── */
.cls-element{display:inline-block;font-size:11px;padding:1px 6px;border-radius:3px;font-weight:600;margin-left:5px;vertical-align:middle;}
.el-fire  {background:rgba(200,80,40,0.18);border:1px solid rgba(220,100,60,0.35);color:#e87050;}
.el-wood  {background:rgba(60,160,60,0.15);border:1px solid rgba(80,200,80,0.3);color:#70c060;}
.el-earth {background:rgba(180,140,40,0.18);border:1px solid rgba(200,160,60,0.35);color:#d0a040;}
.el-water {background:rgba(40,100,200,0.18);border:1px solid rgba(60,140,220,0.35);color:#6090e0;}
.el-metal {background:rgba(160,140,100,0.18);border:1px solid rgba(200,180,130,0.35);color:#c8b870;}
.el-all   {background:rgba(120,60,200,0.18);border:1px solid rgba(160,100,240,0.35);color:#a070e0;}

/* ── Phase 5 — 博古架面板 ── */
.bogue-slots{display:flex;gap:10px;margin:8px 0 12px;}
.bogue-slot{
  flex:1;min-height:72px;border-radius:8px;
  background:rgba(20,12,40,0.5);border:1.5px dashed rgba(120,80,180,0.3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:8px;cursor:default;transition:all .15s;
}
.bogue-slot.filled{border-style:solid;border-color:rgba(160,120,240,0.45);background:rgba(40,20,70,0.45);cursor:pointer;}
.bogue-slot.filled:hover{background:rgba(60,30,100,0.5);}
.bogue-slot .bs-icon{font-size:22px;margin-bottom:2px;}
.bogue-slot .bs-name{font-size:11px;color:rgba(200,160,255,0.8);text-align:center;line-height:1.3;}
.bogue-slot .bs-buff{font-size:10px;color:rgba(160,220,140,0.7);margin-top:2px;}
.bogue-slot.empty-slot .bs-icon{opacity:.22;}
.bogue-slot.empty-slot .bs-name{color:rgba(160,120,200,0.35);}
.bogue-clash{
  background:rgba(180,60,60,0.14);border:1px solid rgba(200,70,70,0.3);
  border-radius:6px;padding:8px 12px;color:#d07070;font-size:13px;
  margin-bottom:8px;
}
