/* Giữ nguyên tên nhân vật, ẩn dòng chiêu chính và tiền ở HUD trên. */
#top .hudHiddenValues {display:none!important}
/* Chỉ số online đặt dưới nút chat chung, không che khu vực thanh HP/MP. */
#battle .chatOnlineCounter {position:absolute;left:calc(var(--safe-l,0px) + 6px);bottom:calc(var(--chat-bar-over,34px) - 17px);z-index:12;display:block;white-space:nowrap;pointer-events:none;color:#7cff7d;font:700 12px/17px Arial,sans-serif;text-shadow:1px 1px 2px #000,-1px -1px 2px #000}
/* Hiển thị tên tiền đầy đủ, không rút gọn trong hành trang. */
.inventoryMoney {grid-template-columns:minmax(120px,1fr) minmax(0,2fr)!important}
.inventoryMoney span {white-space:normal}
.inventoryMoney b {font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* Ẩn hẳn dòng tên môn phái ở góc trái HUD; giữ DOM để các hàm cập nhật không lỗi. */
#top .hname {display:none!important}
/* Online và tên máy chủ cùng một dòng, nằm dưới nút chat chung. */
#battle .chatOnlineServer {position:absolute;left:calc(var(--safe-l,0px) + 6px);bottom:calc(var(--chat-bar-over,34px) - 17px);z-index:12;display:flex;align-items:center;gap:0;white-space:nowrap;pointer-events:none;color:#7cff7d;font:700 12px/17px Arial,sans-serif;text-shadow:1px 1px 2px #000,-1px -1px 2px #000}
#battle .chatOnlineServer .chatOnlineCounter {position:static!important;display:inline!important;font:inherit!important;color:inherit!important;text-shadow:inherit!important}
#battle .chatOnlineServer #jxServerLabel {display:inline;color:#f6e8b0}

/* Căn gọn cụm icon và hai công tắc tự động lên cao 18px. */
#battle #jxActs {transform:translateY(-18px)}
#battle #jxStat, #battle #jxAutoLootSwitch {transform:translateY(-18px)}

/* Hạ thông tin online 12px, tách dấu phân cách và tên máy chủ. */
#battle .chatOnlineServer {bottom:calc(var(--chat-bar-over,34px) - 29px);gap:5px}
#battle .chatOnlineServer .jxServerPrefix {color:#f4e9c9;white-space:nowrap}
#battle .chatOnlineServer #jxServerLabel {color:#62baff!important;font-weight:800}
#battle .chatOnlineServer .jxServerVerified {display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#159be5;color:#fff;font:bold 12px/15px Arial,sans-serif;border:1px solid #e3f7ff;box-shadow:0 1px 3px #0009}

/* FIX: nâng cụm icon nhưng không để hai công tắc che tên hàng icon cuối. */
#battle #jxActs { transform:translateY(-26px) !important; }
#battle #jxStat, #battle #jxAutoLootSwitch { transform:translateY(12px) !important; }

/* Các nút gốc giữ nguyên sự kiện, chuyển thành ô biểu tượng ở thanh dưới bằng JS. */
#battle #jxR { display:none!important; }
#tabs .jxDockSlot {position:absolute;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:2px;border:0;background:transparent;cursor:pointer;z-index:20;box-sizing:border-box}
#tabs .jxDockSlot i {display:block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;image-rendering:pixelated}
#tabs .jxDockSlot:focus-visible {outline:2px solid #f4d575}
#tabs .jxDockSlot .sk {display:none}
#tabs .jxDockSlot[hidden] {display:none!important}
#battle #jxStat, #battle #jxAutoLootSwitch {transform:translateY(3px)!important}
/* FIX: #tabs uses display:contents; dock controls are positioned against #bb. */
#bb {position:relative}
#bb .jxDockSlot {position:absolute;display:flex;align-items:center;justify-content:center;padding:2px;border:0;background:transparent;cursor:pointer;z-index:50;box-sizing:border-box}
#bb .jxDockSlot i {display:block;width:80%;height:80%;background-position:center;background-repeat:no-repeat;image-rendering:pixelated}
#bb .jxDockSlot[hidden]{display:none!important}
#bb .jxDockSlot:focus-visible{outline:2px solid #f4d575}
