*{margin:0;padding:0;box-sizing:border-box;font-family:"Segoe UI",Microsoft YaHei,Consolas,monospace;}
body{background:#010106;color:#e2ecff;overflow-x:hidden;}

/* ========== 登录页头 ========== */
.header-core{width:100%;padding:28px 46px;background:linear-gradient(90deg,#040015,#18003e,#001934);border-bottom:4px solid #8e22ff;box-shadow:0 0 32px #8e22ff70,0 6px 26px #000;position:relative;overflow:hidden;position:sticky;top:0;z-index:999;transition:opacity 0.4s ease,height 0.4s ease;}
.header-core.hide{opacity:0;height:0;padding:0;border:none;pointer-events:none;background:none!important;box-shadow:none!important;}
.header-core.hide::before{display:none!important;}
.header-core::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,#ff6eff,transparent);animation:lightScan 4s linear infinite;}
@keyframes lightScan{0%{left:-100%}100%{left:100%}}
.main-title{font-size:44px;font-weight:900;letter-spacing:7px;text-transform:uppercase;background:linear-gradient(90deg,#ff5fdd,#5fddff,#fff673);-webkit-background-clip:text;color:transparent;position:relative;z-index:2;}
.sub-title{font-size:17px;margin-top:10px;color:#bc9fff;letter-spacing:2px;z-index:2;position:relative;}

/* ========== 登录容器 ========== */
.main-wrap{max-width:1200px;margin:60px auto;display:flex;flex-direction:column;align-items:center;gap:30px;}
.account-card{width:620px;background:#050311;border:3px solid #6e22bb;border-radius:20px;box-shadow:0 0 36px #8230ff50,inset 0 0 80px #20004424;padding:36px;position:relative;overflow:hidden;}
.account-card::before{content:"";position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:conic-gradient(transparent,#ff6eff,transparent 25%);animation:magicRotate 12s linear infinite;opacity:0.15;z-index:0;}
@keyframes magicRotate{100%{transform:rotate(360deg)}}
.card-inner{position:relative;z-index:1;}
.tab-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px;}
.tab-btn{padding:14px 0;background:#0f0823;border:2px solid #442294;color:#ccbaff;font-weight:bold;font-size:16px;border-radius:12px;cursor:pointer;transition:all 0.32s;letter-spacing:1px;}
.tab-btn.active{background:linear-gradient(180deg,#8230ec,#4610a8);border-color:#ff92ff;box-shadow:0 0 18px #a440ff82;color:#fff;transform:translateY(-3px);}
.tab-btn:hover:not(.active){background:#200e46;border-color:#9250db;}
.tab-content{display:none;animation:fadeIn 0.46s ease;}
.tab-content.active{display:block;}
@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
.form-group{margin-bottom:22px;}
.form-label{display:block;margin-bottom:8px;color:#ffddaa;font-weight:bold;font-size:14px;letter-spacing:1px;}
.form-input,.form-select{width:100%;padding:14px 16px;background:#0c0719;border:2px solid #5632a8;border-radius:10px;color:#fff;font-size:15px;outline:none;transition:0.26s;}
.form-input:focus,.form-select:focus{border-color:#ff6eff;box-shadow:0 0 14px #ff5eff62;background:#100926;}
.form-input[type="color"]{height:48px;padding:4px;cursor:pointer;}
.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px;}
.btn-ultra{padding:16px 0;border:none;border-radius:12px;font-weight:900;font-size:16px;letter-spacing:2px;cursor:pointer;text-transform:uppercase;transition:all 0.36s;box-shadow:0 6px 18px #0009;}
.btn-submit{background:linear-gradient(180deg,#ff34c8,#940072);color:#fff;box-shadow:0 0 20px #ff1ca872;}
.btn-submit:hover{transform:translateY(-6px);box-shadow:0 0 36px #ff40b892;}
.btn-dataOperate{background:linear-gradient(180deg,#20ddff,#0072a4);color:#fff;box-shadow:0 0 20px #00ccff72;}
.btn-dataOperate:hover{transform:translateY(-6px);box-shadow:0 0 36px #00ddff92;}
.btn-full{width:100%;margin-top:14px;}
.data-box{width:620px;background:#060412;border:2px dashed #b450ff;border-radius:16px;padding:24px;}
.data-title{font-size:18px;font-weight:bold;color:#ff94ff;margin-bottom:16px;letter-spacing:2px;text-align:center;}

/* 外观折叠区域 */
.appearance-collapse-toggle{display:none;padding:12px 16px;background:#0c0719;border:2px solid #5632a8;border-radius:10px;color:#ffddaa;font-weight:bold;font-size:14px;cursor:pointer;text-align:center;margin-bottom:14px;transition:0.26s;user-select:none;-webkit-user-select:none;}
.appearance-collapse-toggle:hover{border-color:#ff6eff;}
.appearance-collapse-toggle.active{border-color:#ff6eff;background:#100926;}
.appearance-collapse-content{display:block;}

/* ========== 加载页 ========== */
.loading-page{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#010106;z-index:9999;display:none;flex-direction:column;align-items:center;justify-content:center;gap:40px;}
.loading-page.show{display:flex;}
.load-title{font-size:48px;font-weight:900;background:linear-gradient(90deg,#ff60dd,#60ddff);-webkit-background-clip:text;color:transparent;letter-spacing:8px;animation:magicFlash 2s ease infinite;}
@keyframes magicFlash{0%,100%{opacity:0.7;}50%{opacity:1;}}
.load-spinner{width:120px;height:120px;border:6px solid #442294;border-top:6px solid #ff6eff;border-radius:50%;animation:spin 1.2s linear infinite;}
@keyframes spin{100%{transform:rotate(360deg)}}
.load-tip{font-size:20px;color:#74ddff;letter-spacing:3px;}
.enter-game-btn{margin-top:20px;padding:18px 60px;background:linear-gradient(180deg,#ff34c8,#20ddff);border:none;border-radius:14px;font-size:20px;font-weight:bold;color:#000;cursor:pointer;transition:0.3s;display:none;}
.enter-game-btn.show{display:block;}
.enter-game-btn:hover{transform:scale(1.08);box-shadow:0 0 30px #ff6eff80;}
#importFile{display:none;}
.import-btn{width:100%;padding:14px 0;background:#120a26;border:2px solid #6633bb;border-radius:10px;text-align:center;cursor:pointer;font-weight:bold;color:#d0beff;margin-bottom:12px;transition:0.3s;}
.import-btn:hover{background:#24124c;border-color:#aa66ff;}
.tips-bar{width:520px;padding:10px;background:#0e071f;border:1px dashed #b450ff;border-radius:8px;color:#ccb4ff;font-size:9px;line-height:1.6;text-align:center;}
.tips-bar strong{color:#ff94ff;}
.msg-toast{position:fixed;top:40px;left:50%;transform:translateX(-50%);padding:14px 30px;background:#090617;border:2px solid #ff94ff;border-radius:10px;color:#fff;font-weight:bold;z-index:10000;display:none;}
.msg-toast.show{display:block;animation:toastAnim 3s ease forwards;}
@keyframes toastAnim{0%{opacity:0;top:20px;}15%{opacity:1;top:40px;}85%{opacity:1;top:40px;}100%{opacity:0;top:20px;}}
#loginToast{position:fixed;top:40px;left:50%;transform:translateX(-50%);padding:14px 30px;background:#090617;border:2px solid #ff94ff;border-radius:10px;color:#fff;font-weight:bold;z-index:10000;display:none;}
#loginToast.show{display:block;animation:toastAnim 3s ease forwards;}

/* ========== 游戏界面 ========== */
.game-world{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;display:none;z-index:100;}
#gameCanvas{width:100%;height:100%;cursor:crosshair;display:block;touch-action:none;}

/* ========== PC手机框模式 (v60779) ========== */
/* transform创建containing block，所有position:fixed子元素自动相对于此定位 */
body.pc-phone-mode .game-world{
    top:50%;left:50%;transform:translate(-50%,-50%);
    width:800px;height:450px;
    border:4px solid #1a0a2e;border-radius:16px;overflow:hidden;
    box-shadow:0 0 6px rgba(119,34,255,0.2),0 0 10px rgba(0,0,0,0.6);
    will-change:transform;
}
body.pc-phone-mode .game-world.maximized{
    width:800px;height:450px;border:none;border-radius:0;
    top:50%;left:50%;
    transform:translate(-50%,-50%) scale(var(--display-scale,1));
    will-change:auto;
}
body.pc-phone-mode #gameCanvas{width:100%!important;height:100%!important;}
body.pc-phone-mode .mode-toggle.battle{animation:none!important;}
/* 紧凑顶部栏 */
body.pc-phone-mode .game-top-bar{height:44px;padding:0 8px;gap:8px;}
body.pc-phone-mode .player-avatar{width:32px;height:32px;border-radius:6px;}
body.pc-phone-mode .avatar-placeholder{font-size:14px;}
body.pc-phone-mode .player-status-box{min-width:auto;gap:6px;}
body.pc-phone-mode .player-nick{font-size:12px;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.pc-phone-mode .player-lv{font-size:10px;padding:1px 4px;}
body.pc-phone-mode .gold-display{font-size:10px;}
body.pc-phone-mode .bar-wrap{width:110px;gap:2px;}
body.pc-phone-mode .hp-bar-bg{height:9px;}
body.pc-phone-mode .mp-bar-bg{height:7px;}
body.pc-phone-mode .exp-bar-bg{height:4px;}
body.pc-phone-mode .bar-text{font-size:8px;line-height:9px;}
body.pc-phone-mode .game-top-right{gap:6px;}
body.pc-phone-mode .location-name{font-size:11px;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.pc-phone-mode .online-num{font-size:10px;}
body.pc-phone-mode .fps-text{font-size:10px;}
body.pc-phone-mode .audio-toggle{width:24px;height:24px;font-size:11px;}
body.pc-phone-mode .bag-btn-top{padding:3px 6px;font-size:10px;}
body.pc-phone-mode .back-login-top{padding:3px 6px;font-size:10px;}
/* Boss按钮和任务指示器位置下移 */
body.pc-phone-mode .boss-status-btn{top:44px;}
body.pc-phone-mode .quest-indicator{top:44px;}
/* 小地图缩小 */
body.pc-phone-mode #minimapCanvas{width:80px!important;height:80px!important;top:50px!important;right:6px!important;}
body.pc-phone-mode .zoom-ctrl{top:50px!important;right:92px!important;padding:1px!important;}
body.pc-phone-mode .zoom-btn{width:22px;height:20px;font-size:12px!important;}
body.pc-phone-mode .zoom-label{font-size:7px!important;}
/* 底部工具栏居中缩小 */
body.pc-phone-mode .bottom-toolbar{bottom:4px!important;left:50%!important;transform:translateX(-50%);gap:3px;}
body.pc-phone-mode .icon-btn{width:30px;height:30px;font-size:13px;border-width:1px;}
body.pc-phone-mode .action-bar{bottom:38px!important;left:50%!important;transform:translateX(-50%);gap:3px;}
body.pc-phone-mode .skill-slot{width:36px;height:36px;}
body.pc-phone-mode .skill-icon{font-size:16px;}
body.pc-phone-mode .skill-key{font-size:8px;}
body.pc-phone-mode .skill-name-tag{font-size:7px;}
body.pc-phone-mode .control-hint{display:none!important;}
/* 聊天面板缩小 */
body.pc-phone-mode .chat-panel{width:200px!important;height:120px!important;min-height:80px!important;max-height:160px!important;resize:none!important;border-radius:0 8px 0 0!important;}
body.pc-phone-mode .chat-header{padding:2px 6px!important;}
body.pc-phone-mode .chat-header span{font-size:8px!important;letter-spacing:0!important;}
body.pc-phone-mode .chat-close-btn{width:14px!important;height:14px!important;font-size:8px!important;border-radius:3px!important;}
body.pc-phone-mode .chat-tabs{grid-template-columns:repeat(5,1fr)!important;}
body.pc-phone-mode .chat-tab{font-size:7px!important;padding:1px 0!important;border-bottom-width:1px!important;}
body.pc-phone-mode .chat-content{min-height:25px!important;padding:2px 4px!important;font-size:8px!important;line-height:1.3!important;border-bottom-width:1px!important;}
body.pc-phone-mode .chat-content::-webkit-scrollbar{width:3px!important;}
body.pc-phone-mode .chat-input-row{padding:2px 4px!important;gap:3px!important;}
body.pc-phone-mode .chat-input-row input{font-size:8px!important;padding:2px 4px!important;height:18px!important;border-radius:4px!important;}
body.pc-phone-mode #emojiBtn{padding:1px 3px!important;font-size:10px!important;border-radius:4px!important;}
body.pc-phone-mode #sendChatBtn{padding:1px 6px!important;font-size:8px!important;border-radius:4px!important;}
body.pc-phone-mode .emoji-panel{bottom:22px!important;left:3px!important;right:3px!important;padding:3px!important;gap:2px!important;max-height:60px!important;border-radius:5px!important;}
body.pc-phone-mode .emoji-panel .emoji-item{font-size:11px!important;padding:1px 2px!important;}
/* 最大化/还原按钮 */
#frameMaxBtn{position:fixed;top:5px;right:5px;width:26px;height:26px;background:rgba(30,15,60,0.85);border:1px solid rgba(119,34,204,0.6);border-radius:6px;color:#ccbbff;font-size:14px;cursor:pointer;z-index:9999;display:none;align-items:center;justify-content:center;transition:0.2s;}
body.pc-phone-mode #frameMaxBtn{display:flex;}
#frameMaxBtn:hover{background:rgba(60,30,100,0.95);border-color:#9944ff;color:#fff;}
/* 小屏幕自动全屏 */
@media(max-width:830px),(max-height:480px){
    body.pc-phone-mode .game-world{width:100vw!important;height:100vh!important;border:none!important;border-radius:0!important;transform:none!important;top:0!important;left:0!important;--display-scale:1!important;}
}

/* ========== PC手机框模式 - 全面板适配 v60787 (800×450专项优化) ========== */
/* 全屏遮罩类面板：用100%替代100vw/100vh */
body.pc-phone-mode .world-map-overlay{width:100%!important;height:100%!important;}
body.pc-phone-mode .stat-panel-overlay{width:100%!important;height:100%!important;}
/* v60789: 装备面板 — 左右布局，左装备+加成，右属性 */
body.pc-phone-mode .char-panel{width:340px!important;top:48px!important;left:230px!important;max-height:396px!important;overflow:hidden!important;}
body.pc-phone-mode .char-panel .cp-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;}
body.pc-phone-mode .char-panel .cp-body{padding:5px 6px!important;overflow-y:auto!important;max-height:340px!important;}
body.pc-phone-mode .char-panel .cp-main-layout{display:flex!important;gap:5px!important;}
body.pc-phone-mode .char-panel .cp-left-col{flex:0 0 160px!important;display:flex!important;flex-direction:column!important;}
body.pc-phone-mode .char-panel .cp-right-col{flex:1!important;min-width:0!important;overflow-y:auto!important;max-height:340px!important;}
body.pc-phone-mode .char-panel .cp-section-title{font-size:9px!important;margin:0 0 2px!important;}
body.pc-phone-mode .char-panel .cp-equip-layout{gap:2px!important;margin-bottom:2px!important;grid-template-columns:1fr auto 1fr!important;}
body.pc-phone-mode .char-panel .cp-equip-col{gap:2px!important;}
body.pc-phone-mode .char-panel .cp-equip-slot{width:28px!important;height:24px!important;font-size:7px!important;min-height:24px!important;}
body.pc-phone-mode .char-panel .cp-char-preview canvas{width:60px!important;height:85px!important;}
body.pc-phone-mode .char-panel .cp-stats{font-size:8px!important;line-height:1.35!important;}
body.pc-phone-mode .char-panel .cp-left-extra{font-size:7px!important;line-height:1.3!important;margin-top:2px!important;}
body.pc-phone-mode .char-panel .cp-left-extra .cp-section-title{font-size:8px!important;}
body.pc-phone-mode .char-panel .cp-stat-row{font-size:7px!important;padding:0!important;}
body.pc-phone-mode .char-panel .cp-hr{margin:2px 0!important;border-color:rgba(119,34,204,0.2)!important;}
body.pc-phone-mode .char-panel .cp-reserve-area{margin-top:3px!important;min-height:16px!important;border:1px dashed rgba(119,34,204,0.15)!important;border-radius:4px!important;}
body.pc-phone-mode .char-panel .stat-plus{font-size:8px!important;padding:0 3px!important;}
/* v60792: 背包面板 — 内容缩小 */
body.pc-phone-mode .inventory-panel{width:190px!important;top:48px!important;left:606px!important;right:auto!important;max-height:360px!important;padding:4px!important;overflow:hidden!important;}
body.pc-phone-mode .inventory-panel .inv-header{font-size:9px!important;padding:3px 5px!important;cursor:move!important;}
body.pc-phone-mode .inventory-panel .inv-close{font-size:14px!important;}
body.pc-phone-mode .inventory-panel .inv-sort-btn{font-size:7px!important;padding:1px 4px!important;}
body.pc-phone-mode .inventory-panel .bag-filter-bar{gap:1px!important;flex-wrap:wrap!important;margin-bottom:3px!important;}
body.pc-phone-mode .inventory-panel .bag-filter-tab{font-size:6px!important;padding:1px 2px!important;}
body.pc-phone-mode .bag-grid{grid-template-columns:repeat(5,1fr)!important;gap:1px!important;}
body.pc-phone-mode .bag-slot{width:26px!important;height:26px!important;font-size:10px!important;min-height:26px!important;}
body.pc-phone-mode .bag-slot .slot-count{font-size:6px!important;}
body.pc-phone-mode .inv-bottom-bar{padding:2px 0 0!important;}
body.pc-phone-mode .inv-stall-btn{font-size:7px!important;padding:1px 4px!important;}
body.pc-phone-mode .bag-pagination{font-size:7px!important;padding-top:2px!important;margin-top:2px!important;}
body.pc-phone-mode .bag-page-btn{font-size:7px!important;padding:1px 4px!important;width:22px!important;height:18px!important;}
body.pc-phone-mode .bag-page-info{font-size:7px!important;min-width:35px!important;}
/* v60789: 属性面板 — 紧凑，内容区可滚动 */
body.pc-phone-mode .stat-panel-box{width:240px!important;max-width:92%!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .stat-panel-box .sp-header{font-size:9px!important;padding:3px 6px!important;cursor:move!important;}
body.pc-phone-mode .stat-panel-box .sp-body{font-size:7px!important;padding:4px!important;line-height:1.3!important;overflow-y:auto!important;max-height:300px!important;}
body.pc-phone-mode .stat-panel-box .sp-section{font-size:7px!important;margin:3px 0 1px!important;padding-bottom:1px!important;letter-spacing:0!important;}
body.pc-phone-mode .stat-panel-box .sp-row{font-size:7px!important;padding:1px 0!important;}
/* v60789: 帮助面板 — 双栏，可滚动 */
body.pc-phone-mode .help-panel{width:380px!important;max-width:95%!important;max-height:360px!important;padding:6px!important;font-size:8px!important;overflow-y:auto!important;column-count:2!important;column-gap:8px!important;}
body.pc-phone-mode .help-panel .help-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;column-span:all!important;}
body.pc-phone-mode .help-panel h4{font-size:9px!important;}
body.pc-phone-mode .help-panel p{font-size:7px!important;line-height:1.3!important;margin:1px 0!important;break-inside:avoid!important;}
body.pc-phone-mode .help-panel .key{font-size:6px!important;padding:0 3px!important;}
body.pc-phone-mode .help-panel .help-section{break-inside:avoid!important;margin-bottom:4px!important;}
/* v60789: 在线玩家面板 — 去掉transform居中，可滚动 */
body.pc-phone-mode .online-panel{width:150px!important;left:646px!important;right:auto!important;max-height:260px!important;top:95px!important;overflow-y:auto!important;}
body.pc-phone-mode .online-panel .op-header{font-size:9px!important;padding:4px 6px!important;cursor:move!important;}
body.pc-phone-mode .online-panel .op-entry{font-size:8px!important;padding:1px 4px!important;}
/* 附近玩家侧栏 */
body.pc-phone-mode .nearby-sidebar{width:90px!important;max-height:110px!important;bottom:38px!important;left:706px!important;right:auto!important;overflow:hidden!important;}
body.pc-phone-mode .nearby-sidebar .ns-item{font-size:7px!important;padding:1px 3px!important;}
/* v60789: 玩家详情面板 — 左右布局，可滚动 */
body.pc-phone-mode .player-detail-panel{width:300px!important;max-width:92%!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .player-detail-panel .pd-header{font-size:9px!important;padding:3px 6px!important;cursor:move!important;}
body.pc-phone-mode .player-detail-panel .pd-body{font-size:7px!important;padding:4px!important;line-height:1.3!important;overflow-y:auto!important;max-height:300px!important;}
body.pc-phone-mode .player-detail-panel .pd-main-layout{display:flex!important;gap:4px!important;}
body.pc-phone-mode .player-detail-panel .pd-left-col{flex:0 0 90px!important;display:flex!important;flex-direction:column!important;align-items:center!important;}
body.pc-phone-mode .player-detail-panel .pd-right-col{flex:1!important;overflow-y:auto!important;}
body.pc-phone-mode .player-detail-panel .pd-section-title{font-size:7px!important;margin:3px 0 2px!important;padding-bottom:1px!important;}
body.pc-phone-mode .player-detail-panel .pd-stat-row{font-size:7px!important;padding:1px 3px!important;}
body.pc-phone-mode .player-detail-panel .pd-equip-grid{grid-template-columns:1fr!important;gap:1px!important;margin-top:2px!important;}
body.pc-phone-mode .player-detail-panel .pd-equip-slot{font-size:6px!important;padding:1px 3px!important;border-left-width:2px!important;}
body.pc-phone-mode .player-detail-panel .pd-equip-slot .pd-slot-name{font-size:6px!important;}
body.pc-phone-mode .player-detail-panel .pd-equip-slot .pd-slot-item{font-size:6px!important;}
body.pc-phone-mode .player-detail-panel .pd-stall-list{max-height:50px!important;overflow-y:auto!important;}
body.pc-phone-mode .player-detail-panel .pd-stall-row{font-size:6px!important;padding:1px 2px!important;}
body.pc-phone-mode .player-detail-panel #pdSocialBtns button{font-size:6px!important;padding:2px 4px!important;}
body.pc-phone-mode .player-detail-panel .cl-enter-btn{font-size:7px!important;padding:3px 8px!important;}
/* v60789: 摆摊面板 — 可滚动 */
body.pc-phone-mode .stall-panel{width:260px!important;max-width:92%!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .stall-panel .stall-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;}
body.pc-phone-mode .stall-panel .stall-body{font-size:8px!important;padding:5px!important;overflow-y:auto!important;max-height:280px!important;}
/* v60789: 摆摊商店面板 — 可滚动 */
body.pc-phone-mode .stall-shop-panel{width:240px!important;max-width:92%!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .stall-shop-panel .ss-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;}
body.pc-phone-mode .stall-shop-panel .ss-body{font-size:8px!important;padding:5px!important;overflow-y:auto!important;max-height:280px!important;}
/* v60789: 好友面板 — 可滚动 */
body.pc-phone-mode .friend-panel{width:220px!important;max-width:92%!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .friend-panel .fp-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;}
body.pc-phone-mode .friend-panel .fp-body{font-size:8px!important;padding:5px!important;overflow-y:auto!important;max-height:280px!important;}
/* v60792: 摇人面板 — 内容缩小，布局不变 */
body.pc-phone-mode .summon-panel{width:240px!important;max-width:92%!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .summon-panel .summon-header{font-size:10px!important;padding:4px 6px!important;cursor:move!important;}
body.pc-phone-mode .summon-panel .summon-close-btn{font-size:12px!important;}
body.pc-phone-mode .summon-panel .summon-body{font-size:7px!important;padding:4px 5px!important;overflow-y:auto!important;max-height:290px!important;}
body.pc-phone-mode .summon-panel .summon-myinfo{padding:4px 5px!important;margin-bottom:5px!important;}
body.pc-phone-mode .summon-panel .summon-mi-row{gap:4px!important;}
body.pc-phone-mode .summon-panel .summon-mi-row.sub{margin-top:3px!important;gap:8px!important;}
body.pc-phone-mode .summon-panel .summon-mi-nick{font-size:9px!important;}
body.pc-phone-mode .summon-panel .summon-mi-lv{font-size:7px!important;padding:1px 4px!important;}
body.pc-phone-mode .summon-panel .summon-mi-power{font-size:7px!important;}
body.pc-phone-mode .summon-panel .summon-mi-map{font-size:7px!important;}
body.pc-phone-mode .summon-panel .summon-mi-coord{font-size:7px!important;}
body.pc-phone-mode .summon-panel .summon-desc{font-size:7px!important;margin:0 0 5px 0!important;line-height:1.4!important;}
body.pc-phone-mode .summon-panel .summon-link-row{gap:3px!important;margin-bottom:4px!important;}
body.pc-phone-mode .summon-panel .summon-link-input{padding:3px 4px!important;font-size:7px!important;}
body.pc-phone-mode .summon-panel .summon-gen-btn{padding:3px 8px!important;font-size:8px!important;}
body.pc-phone-mode .summon-panel .summon-actions{gap:3px!important;margin-bottom:4px!important;}
body.pc-phone-mode .summon-panel .summon-action-btn{padding:3px!important;font-size:8px!important;}
body.pc-phone-mode .summon-panel .summon-info{font-size:7px!important;margin-bottom:5px!important;}
body.pc-phone-mode .summon-panel .summon-feedback{padding-top:4px!important;margin-top:3px!important;}
body.pc-phone-mode .summon-panel .summon-feedback-header{margin-bottom:4px!important;}
body.pc-phone-mode .summon-panel .summon-feedback-header span{font-size:8px!important;}
body.pc-phone-mode .summon-panel .summon-refresh-btn{font-size:7px!important;padding:1px 6px!important;}
body.pc-phone-mode .summon-panel .summon-friend-list{max-height:120px!important;}
body.pc-phone-mode .summon-panel .summon-friend-item{padding:3px!important;gap:4px!important;margin-bottom:2px!important;}
body.pc-phone-mode .summon-panel .sf-avatar{width:20px!important;height:20px!important;font-size:9px!important;}
body.pc-phone-mode .summon-panel .sf-name{font-size:8px!important;}
body.pc-phone-mode .summon-panel .sf-lv{font-size:7px!important;}
body.pc-phone-mode .summon-panel .sf-sub{font-size:6px!important;margin-top:1px!important;}
body.pc-phone-mode .summon-panel .sf-online{font-size:6px!important;padding:1px 4px!important;}
body.pc-phone-mode .summon-panel .summon-empty{font-size:7px!important;padding:10px 5px!important;}
/* v60792: 组队面板 — 内容缩小 */
body.pc-phone-mode .team-panel{width:170px!important;left:626px!important;right:auto!important;max-height:260px!important;top:95px!important;overflow-y:auto!important;}
body.pc-phone-mode .team-panel .team-panel-header{font-size:9px!important;padding:3px 5px!important;cursor:move!important;}
body.pc-phone-mode .team-panel .team-close-btn{font-size:12px!important;}
body.pc-phone-mode .team-panel .team-body{padding:4px!important;}
body.pc-phone-mode .team-panel .team-header-info{padding:3px 4px!important;margin-bottom:4px!important;}
body.pc-phone-mode .team-panel .team-leader-badge{font-size:7px!important;padding:1px 4px!important;}
body.pc-phone-mode .team-panel .team-count{font-size:7px!important;}
body.pc-phone-mode .team-panel .team-member-list{gap:2px!important;}
body.pc-phone-mode .team-panel .team-member{padding:3px!important;gap:3px!important;}
body.pc-phone-mode .team-panel .member-avatar{width:18px!important;height:18px!important;font-size:8px!important;}
body.pc-phone-mode .team-panel .member-nick{font-size:8px!important;}
body.pc-phone-mode .team-panel .member-detail{font-size:6px!important;}
body.pc-phone-mode .team-panel .team-btn{font-size:7px!important;padding:1px 5px!important;}
body.pc-phone-mode .team-panel .team-btn.disband,
body.pc-phone-mode .team-panel .team-btn.leave{font-size:8px!important;padding:3px!important;margin-top:4px!important;}
body.pc-phone-mode .team-panel .team-entry{font-size:7px!important;padding:1px 3px!important;}
/* Boss状态面板 */
body.pc-phone-mode .boss-status-panel{width:200px!important;max-width:92%!important;top:48px!important;max-height:240px!important;overflow:hidden!important;}
body.pc-phone-mode .boss-status-panel .bs-header{font-size:9px!important;padding:4px 6px!important;}
body.pc-phone-mode .boss-status-panel .boss-status-item{font-size:7px!important;padding:2px 4px!important;}
/* v60789: 世界地图 — 缩小适配800×450 */
body.pc-phone-mode .wm-container{width:380px!important;max-width:95%!important;max-height:360px!important;}
body.pc-phone-mode .wm-container .wm-header{font-size:10px!important;padding:4px 8px!important;}
body.pc-phone-mode .wm-body{min-height:200px!important;}
body.pc-phone-mode .wm-node{min-width:70px!important;padding:5px 8px!important;}
body.pc-phone-mode .wm-node-icon{font-size:18px!important;}
body.pc-phone-mode .wm-node-name{font-size:9px!important;}
body.pc-phone-mode .wm-node-lv{font-size:8px!important;}
body.pc-phone-mode .wm-node-desc{font-size:7px!important;}
body.pc-phone-mode .wm-legend{font-size:8px!important;padding:4px!important;gap:8px!important;}
/* v60792: 排行榜 — 加宽至340px，3人领奖台完整展示 */
body.pc-phone-mode .leaderboard-panel{width:340px!important;left:456px!important;right:auto!important;top:48px!important;max-height:360px!important;overflow:hidden!important;}
body.pc-phone-mode .leaderboard-panel .lb-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;}
body.pc-phone-mode .leaderboard-panel .lb-body{overflow-y:auto!important;max-height:300px!important;}
body.pc-phone-mode .leaderboard-panel .lb-tab{font-size:8px!important;padding:1px 5px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium{gap:6px!important;padding:4px 0!important;margin-bottom:6px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-item{max-width:90px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-medal{font-size:16px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-name{font-size:9px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-lv{font-size:8px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-power{font-size:10px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-block{font-size:14px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-1 .lb-podium-block{height:40px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-2 .lb-podium-block{height:32px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-3 .lb-podium-block{height:26px!important;}
body.pc-phone-mode .leaderboard-panel .lb-podium-char{width:40px!important;height:55px!important;}
body.pc-phone-mode .leaderboard-panel .lb-row{padding:3px 6px!important;gap:4px!important;}
body.pc-phone-mode .leaderboard-panel .lb-row-rank{font-size:10px!important;width:18px!important;}
body.pc-phone-mode .leaderboard-panel .lb-row-name{font-size:9px!important;}
body.pc-phone-mode .leaderboard-panel .lb-row-lv{font-size:8px!important;}
body.pc-phone-mode .leaderboard-panel .lb-row-power{font-size:10px!important;}
/* v60792: 炼化台 — 内容整体缩小，布局不变 */
body.pc-phone-mode .refine-panel{width:300px!important;max-width:95%!important;top:48px!important;max-height:360px!important;padding:4px!important;overflow:hidden!important;}
body.pc-phone-mode .refine-panel .refine-header{font-size:10px!important;padding:3px 6px!important;cursor:move!important;margin-bottom:4px!important;}
body.pc-phone-mode .refine-panel .refine-close{font-size:14px!important;}
body.pc-phone-mode .refine-panel .refine-tab{font-size:8px!important;padding:1px 4px!important;}
body.pc-phone-mode .refine-panel .refine-materials{font-size:8px!important;padding:3px 6px!important;gap:8px!important;margin-bottom:4px!important;}
body.pc-phone-mode .refine-panel .refine-body{height:auto!important;min-height:0!important;max-height:280px!important;overflow-y:auto!important;gap:4px!important;}
body.pc-phone-mode .refine-panel .refine-item-list{font-size:7px!important;overflow-y:auto!important;max-height:240px!important;width:42%!important;padding:2px!important;}
body.pc-phone-mode .refine-panel .refine-item{padding:2px 3px!important;margin-bottom:1px!important;gap:3px!important;}
body.pc-phone-mode .refine-panel .refine-item span:first-child{font-size:8px!important;width:10px!important;}
body.pc-phone-mode .refine-panel .refine-item-name{font-size:8px!important;}
body.pc-phone-mode .refine-panel .refine-item-ql{font-size:6px!important;}
body.pc-phone-mode .refine-panel .refine-detail{padding:2px 4px!important;}
body.pc-phone-mode .refine-panel .refine-detail-name{font-size:10px!important;margin-bottom:4px!important;}
body.pc-phone-mode .refine-panel .refine-stat-section{padding:3px 4px!important;margin-bottom:3px!important;}
body.pc-phone-mode .refine-panel .refine-stat-title{font-size:8px!important;margin-bottom:2px!important;}
body.pc-phone-mode .refine-panel .refine-stat-row{font-size:8px!important;padding:0!important;}
body.pc-phone-mode .refine-panel .refine-info-box{padding:3px 4px!important;margin-bottom:3px!important;}
body.pc-phone-mode .refine-panel .refine-info-row{font-size:8px!important;padding:1px 0!important;}
body.pc-phone-mode .refine-panel .refine-action-btn{padding:5px!important;font-size:10px!important;border-radius:5px!important;}
body.pc-phone-mode .refine-panel .refine-warning{font-size:7px!important;margin-top:3px!important;}
body.pc-phone-mode .refine-panel .refine-maxed{font-size:10px!important;padding:8px!important;}
body.pc-phone-mode .refine-panel .refine-hint{font-size:9px!important;padding:20px 6px!important;}
body.pc-phone-mode .refine-panel .refine-mat{font-size:7px!important;}
/* v60792: 合成台 — 内容缩小，技能升级布局修复 */
body.pc-phone-mode .synth-panel{width:300px!important;max-width:95%!important;top:48px!important;max-height:360px!important;padding:4px!important;overflow:hidden!important;}
body.pc-phone-mode .synth-panel .synth-header{font-size:10px!important;padding:3px 6px!important;cursor:move!important;margin-bottom:4px!important;}
body.pc-phone-mode .synth-panel .synth-close{font-size:14px!important;}
body.pc-phone-mode .synth-panel .synth-tab{font-size:8px!important;padding:1px 4px!important;}
body.pc-phone-mode .synth-panel .synth-body{font-size:7px!important;overflow-y:auto!important;max-height:290px!important;}
body.pc-phone-mode .synth-panel .synth-section{margin-bottom:6px!important;}
body.pc-phone-mode .synth-panel .synth-section-title{font-size:8px!important;margin-bottom:4px!important;padding-bottom:2px!important;}
body.pc-phone-mode .synth-panel .synth-empty{font-size:8px!important;padding:10px!important;}
body.pc-phone-mode .synth-panel .synth-absorb-info{font-size:7px!important;padding:3px 4px!important;margin-bottom:4px!important;}
body.pc-phone-mode .synth-panel .synth-skill-item{padding:3px 4px!important;gap:2px!important;margin-bottom:3px!important;}
body.pc-phone-mode .synth-panel .synth-skill-top{gap:3px!important;}
body.pc-phone-mode .synth-panel .synth-skill-bottom{gap:3px!important;}
body.pc-phone-mode .synth-panel .synth-skill-icon{font-size:10px!important;}
body.pc-phone-mode .synth-panel .synth-skill-name{font-size:8px!important;}
body.pc-phone-mode .synth-panel .synth-skill-lv{font-size:6px!important;padding:0 3px!important;}
body.pc-phone-mode .synth-panel .synth-exp-bar{height:6px!important;min-width:40px!important;border-radius:3px!important;}
body.pc-phone-mode .synth-panel .synth-exp-text{font-size:6px!important;}
body.pc-phone-mode .synth-panel .synth-book-count{font-size:6px!important;}
body.pc-phone-mode .synth-panel .synth-action-btn{font-size:7px!important;padding:1px 5px!important;border-radius:4px!important;}
body.pc-phone-mode .synth-panel .synth-recycle-item,
body.pc-phone-mode .synth-panel .synth-absorb-item{padding:3px 4px!important;gap:4px!important;margin-bottom:3px!important;}
body.pc-phone-mode .synth-panel .synth-item-name{font-size:7px!important;min-width:60px!important;}
body.pc-phone-mode .synth-panel .synth-recycle-result{font-size:7px!important;}
body.pc-phone-mode .synth-panel .synth-absorb-stat{font-size:7px!important;}
body.pc-phone-mode .synth-panel .synth-absorb-count{font-size:6px!important;}
body.pc-phone-mode .synth-panel .synth-total-bonus{font-size:7px!important;padding:4px!important;margin-top:4px!important;}
/* v60789: 调试面板 — 可滚动 */
body.pc-phone-mode .debug-panel{width:160px!important;top:48px!important;left:636px!important;right:auto!important;font-size:7px!important;overflow:hidden!important;}
body.pc-phone-mode .debug-panel .debug-header{font-size:9px!important;padding:3px 6px!important;cursor:move!important;}
body.pc-phone-mode .debug-panel .debug-body{font-size:7px!important;overflow-y:auto!important;max-height:280px!important;}
/* v60789: 直播面板 — 紧凑 */
body.pc-phone-mode .live-chat-panel{width:180px!important;height:200px!important;top:48px!important;left:616px!important;right:auto!important;overflow:hidden!important;}
body.pc-phone-mode .live-chat-panel .lc-header{font-size:8px!important;padding:3px 5px!important;cursor:move!important;}
body.pc-phone-mode .live-chat-panel .lc-messages{font-size:8px!important;}
body.pc-phone-mode .live-chat-panel .lc-platform-input,
body.pc-phone-mode .live-chat-panel .lc-nick-input{font-size:7px!important;width:45px!important;}
/* NPC对话面板 */
body.pc-phone-mode .npc-dialogue-panel{width:260px!important;max-width:92%!important;bottom:80px!important;}
body.pc-phone-mode .npc-dialogue-header{padding:4px 8px!important;font-size:10px!important;}
body.pc-phone-mode .npc-dialogue-body{padding:6px!important;gap:5px!important;}
body.pc-phone-mode .npc-dialogue-text{font-size:9px!important;line-height:1.35!important;min-height:25px!important;}
body.pc-phone-mode .npc-dialogue-footer{padding:3px 6px 6px!important;}
body.pc-phone-mode .npc-dialogue-btn{font-size:9px!important;padding:3px 8px!important;}
/* v60789: 反馈面板 — 可滚动 */
body.pc-phone-mode .feedback-panel{width:240px!important;max-width:92%!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .feedback-panel .fb-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;}
body.pc-phone-mode .feedback-panel .fb-body{font-size:8px!important;padding:6px!important;overflow-y:auto!important;max-height:280px!important;}
/* v60789: 数据管理面板 — 可滚动 */
body.pc-phone-mode .data-mgr-panel{width:240px!important;max-width:92%!important;top:48px!important;left:556px!important;right:auto!important;max-height:340px!important;overflow:hidden!important;}
body.pc-phone-mode .data-mgr-panel .dm-header{font-size:10px!important;padding:4px 8px!important;cursor:move!important;}
body.pc-phone-mode .data-mgr-panel .dm-body{font-size:8px!important;padding:6px!important;overflow-y:auto!important;max-height:280px!important;}
/* v60789: 统一滚动条样式 — 与面板融为一体 */
body.pc-phone-mode ::-webkit-scrollbar{width:4px;height:4px;}
body.pc-phone-mode ::-webkit-scrollbar-track{background:rgba(119,34,204,0.08);border-radius:2px;}
body.pc-phone-mode ::-webkit-scrollbar-thumb{background:rgba(119,34,204,0.35);border-radius:2px;}
body.pc-phone-mode ::-webkit-scrollbar-thumb:hover{background:rgba(119,34,204,0.55);}
/* 消息提示 */
body.pc-phone-mode .msg-toast{top:48px!important;padding:5px 12px!important;font-size:10px!important;max-width:80%!important;}
/* item-tooltip */
body.pc-phone-mode .item-tooltip{max-width:150px!important;font-size:7px!important;padding:3px 5px!important;}
/* mobile-item-detail */
body.pc-phone-mode .mobile-item-detail{width:220px!important;max-width:92%!important;font-size:9px!important;}
/* 移动端输入遮罩 */
body.pc-phone-mode #mobileInputOverlay{width:100%!important;height:100%!important;}
/* v60782保留: phone-mode性能核弹 — 禁用所有backdrop-filter */
body.pc-phone-mode .game-world *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
/* 补偿: chat-panel原来背景太透明(0.35)，去掉blur后加深 */
body.pc-phone-mode .chat-panel{background:rgba(5,3,17,0.88)!important;}
body.pc-phone-mode .nearby-sidebar{background:rgba(8,5,20,0.92)!important;}
/* v60782保留: phone-mode下降低box-shadow模糊半径 */
body.pc-phone-mode .game-top-bar{box-shadow:0 0 6px rgba(119,34,255,0.15)!important;}
body.pc-phone-mode .char-panel,
body.pc-phone-mode .inventory-panel,
body.pc-phone-mode .live-chat-panel,
body.pc-phone-mode .refine-panel,
body.pc-phone-mode .synth-panel,
body.pc-phone-mode .friend-panel,
body.pc-phone-mode .team-panel{box-shadow:0 0 4px rgba(119,34,204,0.15)!important;}
body.pc-phone-mode .debug-panel{box-shadow:none!important;}
body.pc-phone-mode .nearby-sidebar{box-shadow:none!important;}
/* v60787: 目标血条 — 调整位置 */
body.pc-phone-mode .target-hp-bar{top:48px!important;left:180px!important;width:110px!important;padding:3px!important;gap:4px!important;}
body.pc-phone-mode .target-hp-bar #targetAvatar{width:20px!important;height:20px!important;}
body.pc-phone-mode .target-hp-bar .th-name{font-size:8px!important;}
body.pc-phone-mode .target-hp-bar .th-hp-text{font-size:7px!important;}

.game-top-bar{position:fixed;top:0;left:0;width:100%;height:54px;background:linear-gradient(90deg,rgba(3,0,18,0.85),rgba(21,0,56,0.85),rgba(0,18,48,0.85));border-bottom:2px solid rgba(153,51,255,0.6);z-index:200;display:flex;align-items:center;padding:0 20px;gap:24px;}
.player-status-box{display:flex;align-items:center;gap:12px;min-width:340px;}
.player-avatar{width:56px;height:56px;border-radius:8px;border:2px solid #ff99ff;background:#220044;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.avatar-placeholder{color:#ffccff;font-size:24px;}
.player-info{display:flex;flex-direction:column;gap:3px;}
.player-name-line{display:flex;gap:8px;align-items:center;}
.player-nick{font-size:12px;font-weight:bold;color:#fff;letter-spacing:1px;}
.player-lv{background:#9922dd;padding:1px 5px;border-radius:4px;font-size:8px;color:#fff;}
.gold-display{color:#ffdd44;font-size:9px;font-weight:bold;}
.bar-wrap{width:220px;display:flex;flex-direction:column;gap:3px;}
.hp-bar-bg{width:100%;height:12px;background:#110522;border-radius:6px;overflow:hidden;border:1px solid #662299;position:relative;}
.hp-fill{height:100%;background:linear-gradient(90deg,#ff2266,#ff6699);width:80%;transition:0.3s;}
.mp-bar-bg{width:100%;height:10px;background:#110522;border-radius:5px;overflow:hidden;border:1px solid #662299;position:relative;}
.mp-fill{height:100%;background:linear-gradient(90deg,#2266ff,#66aaff);width:70%;transition:0.3s;}
.exp-bar-bg{width:100%;height:6px;background:#110522;border-radius:3px;overflow:hidden;border:1px solid #662299;position:relative;}
.exp-fill{height:100%;background:linear-gradient(90deg,#ffdd00,#ffaa00);width:0%;transition:0.3s;}
.bar-text{font-size:10px;text-align:center;color:#fff;line-height:12px;position:absolute;top:0;left:0;width:100%;}
.game-top-right{display:flex;align-items:center;gap:14px;margin-left:auto;}
.location-name{color:#ffdd44;font-size:10px;font-weight:bold;letter-spacing:0.5px;}
.online-num{color:#ffddaa;font-size:9px;}
.fps-text{color:#88ff88;font-size:9px;}
.audio-btns{display:flex;gap:6px;}
.audio-toggle{width:22px;height:22px;background:rgba(5,3,17,0.8);border:1px solid #5522aa;border-radius:5px;color:#ccbbff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.2s;}
.audio-toggle:hover{border-color:#ff88ff;box-shadow:0 0 8px rgba(255,136,255,0.3);}
.bag-btn-top{padding:4px 8px;background:linear-gradient(180deg,#22aaff,#0066aa);border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:bold;font-size:9px;}
.bag-btn-top:hover{box-shadow:0 0 16px #22aaff80;}
.back-login-top{padding:4px 8px;background:linear-gradient(180deg,#dd2288,#880055);border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:bold;font-size:13px;}
.back-login-top:hover{box-shadow:0 0 16px #ff339980;}
.mobile-top-extra{display:none;}

/* ========== 聊天面板 ========== */
.chat-panel{position:fixed;bottom:0;left:0;width:280px;height:220px;min-height:120px;max-height:50vh;background:rgba(5,3,17,0.82);border:1px solid rgba(119,34,204,0.5);border-radius:0 10px 10px 0;z-index:250;display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 4px rgba(119,34,204,0.1);resize:vertical;}
.chat-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.chat-header{display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;background:rgba(12,6,34,0.85);border-bottom:1px solid rgba(119,34,204,0.3);cursor:move;flex-shrink:0;user-select:none;-webkit-user-select:none;}
.chat-header span{font-size:9px;color:#ff94ff;font-weight:bold;letter-spacing:1px;flex:1;}
.chat-close-btn{width:16px;height:16px;background:rgba(30,15,60,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:3px;color:#ccbbff;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;flex-shrink:0;margin-left:auto;}
.chat-close-btn:hover{color:#ff6666;border-color:#ff6666;background:rgba(60,20,40,0.9);}
.chat-tabs{display:grid;grid-template-columns:repeat(4,1fr);flex-shrink:0;}
.chat-tab{padding:3px 0;text-align:center;background:#0b0420;border:none;color:#bb99ff;cursor:pointer;border-bottom:2px solid transparent;font-size:8px;}
.chat-tab.active{background:#1c0846;border-bottom:2px solid #ff88ff;color:#fff;}
.chat-content{flex:1;min-height:60px;padding:4px;overflow-y:auto;border-bottom:1px solid #442288;font-size:8px;line-height:1.4;}
.chat-content::-webkit-scrollbar{width:4px;}
.chat-content::-webkit-scrollbar-thumb{background:#7733bb;border-radius:2px;}
.msg-world{color:#ffdd77;}
.msg-near{color:#77ff99;}
.msg-team{color:#77ddff;}
.msg-private{color:#ff99dd;}
.chat-input-row{display:flex;padding:8px;gap:6px;flex-shrink:0;}
#chatInput{flex:1;padding:2px 5px;background:#0c0622;border:1px solid #5522aa;border-radius:3px;color:#fff;outline:none;font-size:9px;}
#sendChatBtn{padding:2px 8px;background:linear-gradient(180deg,#ff34c8,#940072);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:9px;}
#emojiBtn{padding:2px 5px;background:#1a0a3a;border:1px solid #5522aa;border-radius:3px;cursor:pointer;font-size:10px;}
#emojiBtn:hover{background:#2a1a4a;}
.emoji-panel{position:absolute;bottom:42px;left:6px;right:6px;background:rgba(10,5,25,0.97);border:1px solid #5522aa;border-radius:8px;padding:6px;display:none;flex-wrap:wrap;gap:4px;max-height:120px;overflow-y:auto;z-index:200;}
.emoji-panel.show{display:flex;}
.emoji-item{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-size:15px;transition:background .15s;}
.emoji-item:hover{background:#332255;}
.emoji-shape{display:inline-block;width:16px;height:16px;vertical-align:middle;}
.control-hint{position:fixed;bottom:20px;right:20px;background:rgba(5,3,17,0.7);border:1px solid #6633bb;border-radius:5px;padding:4px 8px;font-size:11px;color:#aa99dd;z-index:200;pointer-events:none;}

/* ========== 小地图 ========== */
#minimapCanvas{position:fixed;top:80px;right:20px;width:180px;height:180px;z-index:200;border:2px solid rgba(119,34,204,0.6);border-radius:10px;background:rgba(5,3,17,0.8);}

/* ========== 缩放控制 ========== */
.zoom-ctrl{position:fixed;top:80px;right:210px;z-index:200;display:flex;flex-direction:column;align-items:center;gap:2px;background:rgba(5,3,17,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:8px;padding:4px 2px;}
.zoom-btn{width:22px;height:20px;border:1px solid rgba(119,34,204,0.5);background:rgba(20,10,40,0.8);color:#cc99ff;font-size:16px;font-weight:bold;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;}
.zoom-btn:hover{background:rgba(40,20,80,0.9);border-color:rgba(170,68,238,0.7);}
.zoom-btn:active{background:rgba(60,30,100,0.9);}
.zoom-label{font-size:10px;color:#8866aa;text-align:center;user-select:none;font-family:monospace;}

/* ========== 角色面板 ========== */
.char-panel{position:fixed;top:78px;left:16px;width:280px;background:rgba(5,3,17,0.92);border:1.5px solid rgba(119,34,204,0.6);border-radius:10px;z-index:250;display:none;max-height:85vh;overflow:hidden;box-shadow:0 0 6px rgba(119,34,204,0.2);}
.char-panel.show{display:block;animation:fadeIn 0.3s ease;}
.cp-header{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;background:linear-gradient(135deg,rgba(119,34,204,0.15),rgba(80,20,120,0.05));border-bottom:1px solid rgba(119,34,204,0.3);font-size:14px;font-weight:bold;color:#ff94ff;letter-spacing:1px;cursor:move;user-select:none;-webkit-user-select:none;}
.cp-close{background:none;border:none;color:#ff6666;font-size:11px;cursor:pointer;}
.cp-body{padding:5px 8px;overflow-y:auto;max-height:calc(85vh - 40px);}
.cp-body::-webkit-scrollbar{width:4px;}
.cp-body::-webkit-scrollbar-thumb{background:rgba(119,34,204,0.4);border-radius:2px;}
.cp-section-title{color:#ffdd44;font-size:8px;font-weight:bold;margin:8px 0 4px;padding-bottom:3px;border-bottom:1px solid rgba(255,221,68,0.2);letter-spacing:1px;}
.cp-section-title:first-child{margin-top:0;}
/* 装备布局：左列+角色预览+右列 */
.cp-equip-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;justify-items:center;margin-bottom:6px;}
.cp-equip-col{display:flex;flex-direction:column;gap:4px;width:100%;}
.cp-equip-slot{min-height:30px;background:#0c0719;border:1.5px solid #442294;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:7px;color:#8866bb;cursor:pointer;transition:border-color 0.2s;transition:box-shadow 0.3s;text-align:center;position:relative;overflow:visible;}
.cp-equip-slot:hover{border-color:#ff88ff;}
.cp-char-preview{display:flex;align-items:center;justify-content:center;position:relative;}
#charPreviewCanvas{display:block;}
.cp-stats{font-size:8px;color:#aabbdd;line-height:1.5;}
/* v60787: 装备面板左右布局 */
.cp-main-layout{display:flex;gap:8px;}
.cp-left-col{flex:0 0 200px;}
.cp-right-col{flex:1;min-width:0;}
.cp-reserve-area{margin-top:6px;min-height:30px;border:1px dashed rgba(119,34,204,0.2);border-radius:4px;}
.cp-stat-row{display:flex;justify-content:space-between;align-items:center;padding:1px 0;}
.cp-hr{border:none;border-top:1px solid #332255;margin:5px 0;}

/* ====== +15 装备槽终极动画 ====== */
.cp-equip-slot.enh-15{border-color:transparent!important;background:#0c0719;animation:cp15pulse 1.5s ease-in-out infinite;}
.cp-equip-slot.enh-15::before{content:"";position:absolute;inset:-3px;border-radius:7px;background:conic-gradient(from 0deg,#ff0066,#ffaa00,#ffff00,#00ff66,#00aaff,#aa00ff,#ff0066);animation:cp15rotate 2s linear infinite;z-index:-1;}
.cp-equip-slot.enh-15::after{content:"";position:absolute;inset:0;border-radius:5px;background:#0c0719;z-index:-1;}
@keyframes cp15rotate{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
@keyframes cp15pulse{0%,100%{box-shadow:0 0 8px 2px rgba(255,0,255,0.4),0 0 16px 4px rgba(0,255,255,0.3);}50%{box-shadow:0 0 14px 4px rgba(255,0,255,0.7),0 0 28px 8px rgba(0,255,255,0.5);}}
/* +10~14 高级动画 */
.cp-equip-slot.enh-epic{animation:cpEpicPulse 2s ease-in-out infinite;}
@keyframes cpEpicPulse{0%,100%{box-shadow:0 0 6px 2px rgba(255,0,255,0.3);}50%{box-shadow:0 0 12px 4px rgba(255,0,255,0.6);}}

/* ========== 底部按钮栏 ========== */
.bottom-toolbar{position:fixed;bottom:18px;left:510px;z-index:200;display:flex;gap:3px;}
.icon-btn{width:28px;height:28px;background:rgba(5,3,17,0.85);border:1.5px solid #5522aa;border-radius:5px;color:#ccbbff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.2s;}
.icon-btn:hover{border-color:#ff88ff;box-shadow:0 0 10px rgba(255,136,255,0.3);}
.icon-btn.active{border-color:#ff88ff;background:rgba(40,8,70,0.8);}

/* ========== 帮助面板 ========== */
.help-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;max-height:78vh;background:rgba(5,3,17,0.95);border:2px solid #7722cc;border-radius:12px;z-index:300;display:none;padding:14px;overflow-y:auto;box-shadow:0 0 6px rgba(119,34,204,0.3);}
.help-panel.show{display:block;animation:fadeIn 0.3s ease;}
.help-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:15px;font-weight:bold;color:#ff94ff;cursor:move;user-select:none;-webkit-user-select:none;}
.help-close{background:none;border:none;color:#ff6666;font-size:20px;cursor:pointer;}
.help-section{margin-bottom:8px;}
.help-section h4{color:#ffdd44;font-size:12px;margin-bottom:3px;}
.help-section p{color:#aabbdd;font-size:11px;line-height:1.5;padding-left:6px;}
.help-section .key{display:inline-block;background:#220044;border:1px solid #6633bb;border-radius:3px;padding:1px 5px;font-size:10px;color:#ffdd44;margin:0 2px;}
.mobile-only-help{display:none;}

/* ========== 背包面板 ========== */
.inventory-panel{position:fixed;top:78px;right:16px;width:280px;background:rgba(5,3,17,0.9);border:1.5px solid rgba(119,34,204,0.6);border-radius:10px;z-index:250;display:none;padding:10px;max-height:88vh;overflow-y:auto;box-shadow:0 0 6px rgba(119,34,204,0.2);}
.inventory-panel.show{display:block;animation:fadeIn 0.3s ease;}
.inv-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;font-size:8px;font-weight:bold;color:#ff94ff;letter-spacing:1px;cursor:move;user-select:none;-webkit-user-select:none;}
.inv-controls{display:flex;gap:4px;align-items:center;}
.inv-sort-btn{padding:2px 5px;background:rgba(30,15,60,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:3px;color:#ccbbff;font-size:8px;cursor:pointer;transition:0.15s;}
.inv-sort-btn:hover{background:rgba(50,25,90,0.95);border-color:#ff88ff;}
.inv-close{background:none;border:none;color:#ff6666;font-size:10px;cursor:pointer;padding:0 4px;}
.equip-section{display:flex;gap:8px;margin-bottom:8px;}
.equip-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;flex-shrink:0;}
.equip-slot{min-height:42px;background:#0c0719;border:2px solid #442294;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#8866bb;cursor:pointer;transition:0.2s;text-align:center;position:relative;}
.equip-slot:hover{border-color:#ff88ff;background:#1a0a30;}
.stat-panel{flex:1;font-size:7px;color:#aabbdd;line-height:1.3;}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:0;}
.stat-row small{color:#44ff44;}
.stat-total{color:#ffdd44;font-weight:bold;}
.stat-plus{width:16px;height:16px;min-width:16px;background:#220044;border:1px solid #6633bb;border-radius:3px;color:#44ff44;cursor:pointer;font-weight:bold;font-size:9px;line-height:1;display:flex;align-items:center;justify-content:center;}
.stat-plus:hover{background:#330066;}
.bag-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;}
.bag-slot{min-height:30px;background:#0c0719;border:2px solid #332255;border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:0.2s;position:relative;}
.bag-slot:hover{border-color:#ff88ff;background:#1a0a30;}
.item-icon{font-size:10px;font-weight:bold;display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.item-count{position:absolute;bottom:1px;right:2px;font-size:7px;color:#fff;background:rgba(0,0,0,0.7);padding:0 2px;border-radius:3px;}
.inv-hr{border:none;border-top:1px solid #332255;margin:4px 0;}
.bag-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:8px;padding-top:6px;border-top:1px solid #332255;}
.bag-page-btn{width:20px;height:18px;background:rgba(30,15,60,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:4px;color:#ccbbff;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;}
.bag-page-btn:hover{background:rgba(50,25,90,0.95);border-color:#ff88ff;}
.bag-page-btn:disabled{opacity:0.3;cursor:not-allowed;}
.bag-page-info{font-size:8px;color:#aabbdd;min-width:36px;text-align:center;}

/* ========== 物品提示 ========== */
.item-tooltip{position:fixed;width:160px;background:#050311;border:1.5px solid #7722cc;border-radius:5px;padding:5px;z-index:300;display:none;font-size:8px;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,0.5);}
.tooltip-name{font-size:9px;font-weight:bold;margin-bottom:2px;}
.tooltip-type{color:#8866bb;margin-bottom:3px;font-size:8px;}
.tooltip-stat{color:#44ff44;margin:2px 0;}
.tooltip-desc{color:#aabbdd;margin:6px 0;font-style:italic;}
.tooltip-price{color:#ffdd44;margin-top:4px;}
.tooltip-hint{color:#888;margin-top:3px;font-size:8px;}

/* ========== 移动端物品详情面板 ========== */
.mobile-item-detail{position:fixed;bottom:0;left:0;width:100%;max-height:45vh;background:rgba(5,3,17,0.97);border-top:2px solid #7722cc;border-radius:14px 14px 0 0;z-index:350;padding:14px;overflow-y:auto;box-shadow:0 -2px 6px rgba(0,0,0,0.3);}
.mid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:16px;font-weight:bold;color:#ff94ff;}
.mid-close{background:none;border:none;color:#ff6666;font-size:22px;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
.mid-content{font-size:13px;color:#aabbdd;line-height:1.6;}

/* ========== 动作栏（模式切换+技能） ========== */
.action-bar{position:fixed;bottom:68px;left:510px;z-index:200;display:flex;flex-wrap:wrap;gap:3px;align-items:flex-end;max-width:380px;}
.mode-toggle{width:66px;height:48px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:0.2s;border:2px solid;font-size:10px;font-weight:bold;gap:1px;}
.mode-toggle.rest{background:rgba(5,30,17,0.85);border-color:#22aa44;color:#44ff66;}
.mode-toggle.rest:hover{box-shadow:0 0 12px rgba(68,255,102,0.3);transform:translateY(-2px);}
.mode-toggle.battle{background:rgba(30,5,5,0.85);border-color:#aa2244;color:#ff4466;box-shadow:0 0 14px rgba(255,68,102,0.35);animation:battlePulse 1.5s ease infinite;}
@keyframes battlePulse{0%,100%{box-shadow:0 0 14px rgba(255,68,102,0.35);}50%{box-shadow:0 0 20px rgba(255,68,102,0.55);}}
.mode-toggle:hover{transform:translateY(-2px);}
.mode-icon{font-size:18px;line-height:1;}
.mode-label{font-size:10px;}
.skill-slot{width:24px;height:24px;background:rgba(5,3,17,0.85);border:1px solid #aa4444;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:0.2s;overflow:hidden;}
.skill-slot:hover{border-color:#ff6666;box-shadow:0 0 12px rgba(255,100,100,0.3);}
.skill-slot.ready{border-color:#ff8844;box-shadow:0 0 8px rgba(255,136,68,0.2);}
.skill-slot.auto-on{border-color:#44ff44;box-shadow:0 0 8px rgba(68,255,68,0.25);}
.skill-icon{font-size:10px;}
.skill-key{position:absolute;bottom:-1px;right:1px;font-size:5px;color:#ffdd44;background:rgba(0,0,0,0.8);padding:0 2px;border-radius:2px;}
.skill-auto-tag{position:absolute;top:-1px;left:2px;font-size:8px;color:#44ff44;background:rgba(0,0,0,0.8);padding:0 3px;border-radius:3px;display:none;}
.skill-auto-tag.show{display:block;}
.skill-cd-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;font-size:10px;font-weight:bold;color:#fff;background:rgba(0,0,0,0.75);border-radius:8px;}
.skill-cd-overlay.show{display:flex;}
.skill-name-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:8px;color:#ff8844;white-space:nowrap;}

/* ========== 移动端样式 ========== */
body.in-game{overflow:hidden;touch-action:none;}
#gameCanvas{touch-action:none;}

#mobileControls{position:fixed;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:500;}

/* 虚拟摇杆 */
#mobileJoystick{position:fixed;bottom:80px;left:30px;width:120px;height:120px;pointer-events:auto;z-index:510;}
#joystickBase{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;background:rgba(80,40,120,0.3);border:2px solid rgba(180,100,255,0.4);box-sizing:border-box;}
#joystickThumb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,136,255,0.4);border:2px solid rgba(255,180,255,0.6);transition:background 0.1s;box-sizing:border-box;}

/* 攻击按钮 */
#mobileAttackBtn{position:fixed;bottom:90px;right:30px;width:75px;height:75px;border-radius:50%;background:rgba(80,40,140,0.5);border:2px solid rgba(180,80,255,0.6);font-size:28px;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:510;user-select:none;-webkit-user-select:none;cursor:pointer;}
#mobileAttackBtn:active{background:rgba(120,60,200,0.7);}
#mobileAttackBtn.battle{background:rgba(255,68,68,0.35);border-color:rgba(255,100,100,0.6);}
#mobileAttackBtn.battle:active{background:rgba(255,68,68,0.6);}

/* 移动端技能栏 */
#mobileSkills{position:fixed;bottom:180px;right:25px;display:grid;grid-template-columns:52px 52px;grid-template-rows:52px 52px;gap:8px;pointer-events:auto;z-index:510;}
.mskill-btn{position:relative;width:52px;height:52px;border-radius:10px;background:rgba(40,20,80,0.7);border:2px solid rgba(119,34,204,0.5);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;user-select:none;-webkit-user-select:none;}
.mskill-btn.ready{border-color:rgba(68,255,136,0.5);}
.mskill-btn.auto-on{border-color:rgba(68,255,68,0.7);box-shadow:0 0 8px rgba(68,255,68,0.3);}
.mskill-btn:active{background:rgba(80,40,120,0.9);}
.mskill-icon{font-size:20px;line-height:1;}
.mskill-name{font-size:8px;color:#ff8844;line-height:1;margin-top:2px;}
.mskill-cd{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:bold;color:#fff;background:rgba(0,0,0,0.75);}

/* 移动端工具栏 */
#mobileToolbar{position:fixed;bottom:6px;left:50%;transform:translateX(-50%);display:flex;gap:6px;pointer-events:auto;z-index:510;max-width:100vw;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:center;padding:2px 4px;scrollbar-width:none;}
.mt-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:10px;background:rgba(30,15,60,0.85);border:1px solid rgba(119,34,204,0.4);font-size:18px;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;-webkit-user-select:none;}
.mt-btn:active{background:rgba(60,30,100,0.95);}

/* ========== 世界大地图 ========== */
.world-map-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.82);z-index:400;display:none;align-items:center;justify-content:center;}
.world-map-overlay.show-map{display:flex;animation:fadeIn 0.3s ease;}
.wm-container{width:500px;max-width:95vw;max-height:80vh;background:rgba(5,3,17,0.97);border:1.5px solid rgba(119,34,204,0.6);border-radius:8px;box-shadow:0 0 6px rgba(119,34,204,0.2);display:flex;flex-direction:column;overflow:hidden;}
.wm-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(12,6,34,0.9);border-bottom:1px solid rgba(119,34,204,0.3);}
.wm-title{font-size:13px;font-weight:bold;color:#ff94ff;letter-spacing:1px;}
.wm-close{background:none;border:none;color:#ff6666;font-size:15px;cursor:pointer;min-width:24px;min-height:24px;display:flex;align-items:center;justify-content:center;}
.wm-close:hover{color:#ff8888;}
.wm-body{flex:1;position:relative;min-height:280px;overflow:hidden;background:radial-gradient(ellipse at center,rgba(20,8,50,0.6) 0%,rgba(5,3,17,0.9) 100%);}
.wm-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;}
.wm-node{position:absolute;transform:translate(-50%,-50%);background:rgba(12,6,34,0.9);border:1.5px solid;border-radius:8px;padding:5px 8px;text-align:center;cursor:default;transition:all 0.3s;z-index:2;min-width:70px;}
.wm-node:hover{transform:translate(-50%,-50%) scale(1.08);}
.wm-node.wm-current{box-shadow:0 0 20px rgba(255,136,68,0.5);animation:wmPulse 2s ease infinite;}
@keyframes wmPulse{0%,100%{box-shadow:0 0 16px rgba(255,136,68,0.4);}50%{box-shadow:0 0 28px rgba(255,136,68,0.7);}}
.wm-node-icon{font-size:18px;margin-bottom:2px;}
.wm-node-name{font-size:10px;font-weight:bold;color:#fff;margin-bottom:1px;}
.wm-node-lv{font-size:8px;font-weight:bold;margin-bottom:2px;}
.wm-node-desc{font-size:7px;color:#8899bb;line-height:1.3;}
.wm-node.wm-locked{opacity:0.5;filter:grayscale(0.5);}
.wm-node.wm-locked .wm-node-icon{filter:saturate(0.3);}
.wm-node:not(.wm-locked):hover{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 15px rgba(255,136,255,0.4);cursor:pointer;}
.wm-legend{display:flex;justify-content:center;gap:12px;padding:5px;background:rgba(8,4,22,0.9);border-top:1px solid rgba(119,34,204,0.3);font-size:8px;color:#aabbdd;}
.wm-legend-item{display:flex;align-items:center;gap:5px;}
.wm-dot{display:inline-block;width:7px;height:7px;border-radius:50%;}

/* ========== 移动端响应式 ========== */
@media (max-width:768px){
    /* === 登录注册页适配 === */
    body{overflow-y:auto;-webkit-overflow-scrolling:touch;}
    .header-core{padding:14px 16px;position:relative;}
    .main-title{font-size:26px;letter-spacing:3px;}
    .sub-title{font-size:12px;letter-spacing:1px;margin-top:6px;}
    .main-wrap{margin:16px auto;padding:0 10px;gap:16px;}
    .account-card{width:100%!important;padding:18px 16px;border-radius:14px;}
    .data-box{width:100%!important;padding:16px;}
    .tips-bar{width:100%!important;padding:12px;font-size:11px;line-height:1.6;}
    .tab-btn{padding:12px 0;font-size:14px;min-height:44px;}
    .form-group{margin-bottom:14px;}
    .form-label{font-size:13px;margin-bottom:5px;}
    .form-input,.form-select{padding:12px 14px;font-size:15px;min-height:44px;}
    .form-input[type="color"]{height:52px;padding:6px;cursor:pointer;}
    .form-row-two{grid-template-columns:1fr 1fr;gap:10px;}
    .btn-ultra{padding:14px 0;font-size:15px;letter-spacing:1px;min-height:48px;}
    .btn-row{grid-template-columns:1fr;gap:10px;margin-top:18px;}
    .data-title{font-size:15px;margin-bottom:10px;}
    .import-btn{padding:12px 0;font-size:13px;min-height:44px;}
    .appearance-collapse-toggle{display:block;padding:14px 16px;font-size:15px;min-height:48px;}
    .appearance-collapse-content{display:none;}
    .appearance-collapse-content.show{display:block;}
    .load-title{font-size:32px;letter-spacing:4px;}
    .load-spinner{width:80px;height:80px;border-width:4px;}
    .load-tip{font-size:15px;letter-spacing:2px;}
    .enter-game-btn{padding:16px 40px;font-size:17px;min-height:52px;}

    /* === 游戏顶部栏适配 === */
    .game-top-bar{height:52px;padding:0 8px;gap:6px;flex-wrap:nowrap;overflow:hidden;}
    .player-status-box{min-width:auto;gap:8px;}
    .player-avatar{width:36px;height:36px;border-radius:6px;}
    .avatar-placeholder{font-size:16px;}
    .player-info{gap:2px;}
    .player-name-line{font-size:11px;gap:4px;}
    .player-nick{font-size:13px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .player-lv{font-size:10px;padding:1px 5px;}
    .gold-display{font-size:11px;}
    .bar-wrap{width:100px;gap:2px;}
    .hp-bar-bg{height:10px;}
    .mp-bar-bg{height:8px;}
    .exp-bar-bg{height:4px;}
    .bar-text{font-size:8px;line-height:10px;}
    .game-top-right{gap:4px;}
    .location-name{font-size:11px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .online-num{display:none;}
    .fps-text{display:none;}
    .audio-btns{display:none;}
    .bag-btn-top{display:none;}
    .back-login-top{display:none;}
    .mobile-top-extra{display:flex!important;align-items:center;gap:4px;margin-left:auto;}
    .mt-extra-btn{min-width:44px;min-height:44px;padding:4px 10px;background:linear-gradient(180deg,#dd2288,#880055);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:bold;font-size:12px;}

    /* === 聊天面板移动端适配 === */
    .chat-panel{top:auto!important;bottom:60px!important;left:50%!important;transform:translateX(-50%)!important;width:94vw!important;max-width:420px!important;max-height:65vh!important;}

    /* === 小地图适配 === */
    #minimapCanvas{width:100px!important;height:100px!important;top:58px!important;right:8px!important;opacity:0.8;}
    /* === 缩放控制适配 === */
    .zoom-ctrl{top:58px!important;right:116px!important;padding:2px 1px!important;}
    .zoom-btn{width:26px;height:24px;font-size:14px!important;}
    .zoom-label{font-size:8px!important;}

    /* === 装备属性面板全屏适配 === */
    .char-panel{top:0!important;left:0!important;width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;border:none!important;overflow:hidden!important;-webkit-overflow-scrolling:touch;}
    .cp-header{position:fixed;top:0;left:0;width:100%;padding:12px 16px;background:rgba(5,3,17,0.98);z-index:260;box-sizing:border-box;cursor:default!important;}
    .cp-close{min-width:44px;min-height:44px;font-size:24px;display:flex;align-items:center;justify-content:center;}
    .cp-body{padding:16px!important;padding-top:70px!important;max-height:100vh!important;}
    .cp-section-title{font-size:14px!important;margin:12px 0 6px!important;}
    .cp-equip-layout{grid-template-columns:1fr auto 1fr!important;gap:8px!important;}
    .cp-equip-slot{width:100%!important;min-height:56px!important;font-size:11px!important;}
    #charPreviewCanvas{width:120px!important;height:168px!important;}
    .cp-stats{font-size:14px;line-height:2;}
    .cp-stat-row{padding:3px 0;}
    .stat-plus{width:44px;height:44px;min-width:44px;font-size:18px;}

    /* === 背包面板移动端适配（80%高度） === */
    .inventory-panel{top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;width:94vw!important;max-width:300px!important;max-height:55vh!important;height:auto!important;border-radius:12px!important;border:2px solid rgba(119,34,204,0.6)!important;padding:12px!important;padding-top:48px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;}
    .inv-header{position:absolute;top:0;left:0;width:100%;padding:8px 12px;background:rgba(5,3,17,0.98);border-radius:12px 12px 0 0;box-sizing:border-box;z-index:260;}
    .inv-close{min-width:44px;min-height:44px;font-size:24px;display:flex;align-items:center;justify-content:center;}
    .equip-section{flex-direction:column;gap:10px;margin-bottom:14px;}
    .equip-slots{grid-template-columns:repeat(5,1fr)!important;gap:6px;}
    .equip-slot{width:100%!important;height:56px!important;font-size:11px!important;min-width:48px;min-height:48px;}
    .stat-panel{font-size:14px;line-height:2;}
    .stat-row{padding:3px 0;}
    .bag-grid{grid-template-columns:repeat(5,1fr)!important;gap:6px;}
    .bag-slot{width:100%!important;height:56px!important;min-width:48px;min-height:48px;}
    .item-icon{font-size:22px;}
    .bag-page-btn{width:44px;height:40px;min-width:44px;min-height:40px;font-size:14px;}
    .bag-page-info{font-size:14px;min-width:60px;}
    .inv-sort-btn{padding:6px 12px;font-size:13px;min-height:36px;}

    /* === 帮助面板全屏适配 === */
    .help-panel{top:0!important;left:0!important;transform:none!important;width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;border:none!important;padding:16px!important;padding-top:60px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;}
    .help-header{position:fixed;top:0;left:0;width:100%;padding:12px 16px;background:rgba(5,3,17,0.98);z-index:310;box-sizing:border-box;}
    .help-close{min-width:44px;min-height:44px;font-size:24px;display:flex;align-items:center;justify-content:center;}
    .help-section h4{font-size:15px;}
    .help-section p{font-size:13px;line-height:1.8;}
    .help-section .key{font-size:12px;padding:2px 8px;}
    .mobile-only-help{display:block!important;}

    /* === 移动端控制按钮 === */
    .control-hint{display:none!important;}
    .action-bar{display:none!important;}
    .bottom-toolbar{display:none!important;}

    /* === 物品tooltip移动端隐藏，用详情面板替代 === */
    .item-tooltip{display:none!important;}

    /* === 移动物品详情面板 === */
    .mobile-item-detail{max-height:50vh;}

    /* === 世界地图移动端适配 === */
    .wm-container{width:100vw!important;max-width:100vw!important;max-height:100vh!important;height:100vh!important;border-radius:0!important;border:none!important;}
    .wm-header{padding:12px 16px;padding-top:60px;}
    .wm-title{font-size:17px;letter-spacing:2px;}
    .wm-close{min-width:44px;min-height:44px;font-size:24px;}
    .wm-body{min-height:calc(100vh - 160px);}
    .wm-node{min-width:80px;padding:8px 10px;}
    .wm-node-icon{font-size:22px;}
    .wm-node-name{font-size:12px;}
    .wm-node-lv{font-size:10px;}
    .wm-node-desc{font-size:9px;}
    .wm-legend{gap:12px;font-size:11px;padding:8px;}
}

@media (max-width:400px){
    .main-title{font-size:22px;letter-spacing:2px;}
    .form-row-two{grid-template-columns:1fr;}
    .account-card{padding:14px 12px;}
    .bar-wrap{width:80px;}
    .player-nick{max-width:60px;}
    .bag-grid{grid-template-columns:repeat(4,1fr)!important;}
    .equip-slots{grid-template-columns:repeat(2,1fr)!important;}
    .cp-equip{grid-template-columns:repeat(2,1fr)!important;}
}

body.mobile-active #minimapCanvas{display:block!important;}
body.mobile-active .mobile-only-help{display:block;}

/* ========== 移动端横屏适配（body.mobile-active.landscape） ========== */
body.mobile-active.landscape .game-top-bar{height:40px;padding:0 8px;gap:4px;}
body.mobile-active.landscape .player-avatar{width:28px;height:28px;border-radius:5px;}
body.mobile-active.landscape .avatar-placeholder{font-size:13px;}
body.mobile-active.landscape .player-nick{font-size:11px;max-width:60px;}
body.mobile-active.landscape .player-lv{font-size:9px;padding:1px 4px;}
body.mobile-active.landscape .gold-display{font-size:10px;}
body.mobile-active.landscape .bar-wrap{width:90px;gap:1px;}
body.mobile-active.landscape .hp-bar-bg{height:8px;}
body.mobile-active.landscape .mp-bar-bg{height:6px;}
body.mobile-active.landscape .exp-bar-bg{height:3px;}
body.mobile-active.landscape .bar-text{font-size:7px;line-height:8px;}
body.mobile-active.landscape .location-name{font-size:10px;max-width:50px;}
body.mobile-active.landscape .online-num,
body.mobile-active.landscape .fps-text,
body.mobile-active.landscape .audio-btns,
body.mobile-active.landscape .bag-btn-top,
body.mobile-active.landscape .back-login-top{display:none!important;}
body.mobile-active.landscape .mobile-top-extra{display:flex!important;align-items:center;margin-left:auto;}
body.mobile-active.landscape .mt-extra-btn{min-width:36px;min-height:32px;padding:2px 8px;font-size:11px;}

/* 横屏面板：居中悬浮，不全屏 */
body.mobile-active.landscape .char-panel{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:380px!important;max-width:90vw!important;max-height:82vh!important;height:auto!important;border-radius:10px!important;border:2px solid rgba(119,34,204,0.6)!important;overflow:hidden!important;}
body.mobile-active.landscape .char-panel .cp-header{position:absolute;top:0;left:0;width:100%;padding:8px 12px;background:rgba(5,3,17,0.98);border-radius:10px 10px 0 0;box-sizing:border-box;z-index:260;}
body.mobile-active.landscape .cp-body{padding:10px 12px!important;padding-top:42px!important;max-height:82vh!important;}
body.mobile-active.landscape .cp-section-title{font-size:11px!important;margin:8px 0 4px!important;}
body.mobile-active.landscape .cp-equip-slot{min-height:40px!important;font-size:9px!important;}
body.mobile-active.landscape #charPreviewCanvas{width:90px!important;height:126px!important;}
body.mobile-active.landscape .cp-stats{font-size:12px;line-height:1.8;}
body.mobile-active.landscape .stat-plus{width:36px;height:36px;min-width:36px;font-size:16px;}

body.mobile-active.landscape .inventory-panel{top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;width:420px!important;max-width:92vw!important;max-height:82vh!important;height:auto!important;border-radius:10px!important;border:2px solid rgba(119,34,204,0.6)!important;padding:12px!important;padding-top:40px!important;}
body.mobile-active.landscape .inventory-panel .inv-header{position:absolute;top:0;left:0;width:100%;padding:8px 12px;background:rgba(5,3,17,0.98);border-radius:10px 10px 0 0;box-sizing:border-box;z-index:260;}
body.mobile-active.landscape .equip-slots{grid-template-columns:repeat(5,1fr)!important;gap:4px;}
body.mobile-active.landscape .equip-slot{min-height:40px!important;font-size:9px!important;}
body.mobile-active.landscape .bag-grid{grid-template-columns:repeat(8,1fr)!important;gap:3px;}
body.mobile-active.landscape .bag-slot{min-height:38px!important;}
body.mobile-active.landscape .item-icon{font-size:14px;}
body.mobile-active.landscape .stat-panel{font-size:11px;line-height:1.6;}

body.mobile-active.landscape .help-panel{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:400px!important;max-width:90vw!important;max-height:80vh!important;border-radius:10px!important;border:2px solid rgba(77,34,204,0.6)!important;padding:12px!important;padding-top:40px!important;}
body.mobile-active.landscape .help-panel .help-header{position:absolute;top:0;left:0;width:100%;padding:8px 12px;background:rgba(5,3,17,0.98);border-radius:10px 10px 0 0;box-sizing:border-box;z-index:310;}
body.mobile-active.landscape .help-section h4{font-size:12px;}
body.mobile-active.landscape .help-section p{font-size:11px;}

body.mobile-active.landscape .world-map-overlay .wm-container{width:90vw!important;max-width:460px!important;height:auto!important;max-height:65vh!important;border-radius:12px!important;border:2px solid rgba(119,34,204,0.6)!important;}
body.mobile-active.landscape .wm-header{padding:8px 14px;padding-top:8px;}
body.mobile-active.landscape .wm-body{min-height:280px;}
body.mobile-active.landscape .wm-node{min-width:70px;padding:6px 8px;}

/* 横屏移动端控制按钮位置调整 */
body.mobile-active.landscape #mobileJoystick{bottom:15px;left:20px;width:90px;height:90px;}
body.mobile-active.landscape #joystickBase{width:76px;height:76px;}
body.mobile-active.landscape #joystickThumb{width:36px;height:36px;}
body.mobile-active.landscape #mobileAttackBtn{bottom:20px;right:20px;width:60px;height:60px;font-size:22px;}
body.mobile-active.landscape #mobileSkills{bottom:85px;right:18px;grid-template-columns:44px 44px;grid-template-rows:44px 44px;gap:5px;}
body.mobile-active.landscape .mskill-btn{width:44px;height:44px;}
body.mobile-active.landscape .mskill-icon{font-size:16px;}
body.mobile-active.landscape .mskill-name{font-size:7px;}
body.mobile-active.landscape #mobileToolbar{bottom:5px;gap:4px;}
body.mobile-active.landscape .mt-btn{width:36px;height:36px;min-width:36px;min-height:36px;font-size:15px;border-radius:8px;}

/* 横屏小地图 */
body.mobile-active.landscape #minimapCanvas{width:80px!important;height:80px!important;top:44px!important;right:6px!important;opacity:0.7;}
body.mobile-active.landscape .zoom-ctrl{top:44px!important;right:92px!important;padding:2px 1px!important;}
body.mobile-active.landscape .zoom-btn{width:22px;height:20px;font-size:12px!important;}
body.mobile-active.landscape .zoom-label{font-size:7px!important;}

/* 横屏聊天面板适配 */
body.mobile-active.landscape .chat-panel{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:400px!important;max-width:90vw!important;max-height:75vh!important;}

/* 横屏物品详情面板 */
body.mobile-active.landscape .mobile-item-detail{max-height:70vh;width:60%;left:20%;}

/* ====== 直播聊天面板 ====== */
.live-chat-panel{position:fixed;top:78px;right:16px;width:300px;height:380px;background:rgba(8,4,20,0.92);border:2px solid rgba(119,34,204,0.5);border-radius:10px;z-index:280;display:none;flex-direction:column;overflow:hidden;box-shadow:0 0 6px rgba(119,34,204,0.2);}
.live-chat-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.lc-header{padding:6px 8px;background:rgba(20,8,40,0.95);border-bottom:1px solid rgba(119,34,204,0.3);flex-shrink:0;cursor:move;user-select:none;-webkit-user-select:none;touch-action:none;}
.lc-platform-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;}
.lc-live-dot{font-size:10px;animation:lcBlink 1.5s ease-in-out infinite;}
@keyframes lcBlink{0%,100%{opacity:1;}50%{opacity:0.3;}}
.lc-live-label{font-size:9px;font-weight:bold;color:#ff3333;background:rgba(255,0,0,0.15);padding:1px 4px;border-radius:3px;letter-spacing:1px;flex-shrink:0;}
.lc-platform-input{background:transparent;border:1px solid rgba(119,34,204,0.3);border-radius:4px;color:#ffaa44;font-size:11px;font-weight:bold;padding:2px 6px;width:60px;outline:none;flex-shrink:0;}
.lc-platform-input:focus{border-color:#7722cc;background:rgba(119,34,204,0.1);}
.lc-sep{color:rgba(255,255,255,0.2);font-size:11px;flex-shrink:0;}
.lc-nick-input{background:transparent;border:1px solid rgba(119,34,204,0.3);border-radius:4px;color:#66ddff;font-size:11px;padding:2px 6px;flex:1;min-width:50px;outline:none;}
.lc-nick-input:focus{border-color:#7722cc;background:rgba(119,34,204,0.1);}
.lc-close-btn{background:rgba(255,50,50,0.2);border:none;color:#ff6666;font-size:14px;cursor:pointer;width:22px;height:22px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.lc-close-btn:hover{background:rgba(255,50,50,0.4);}
.lc-messages{flex:1;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:3px;-webkit-overflow-scrolling:touch;}
.lc-messages::-webkit-scrollbar{width:3px;}
.lc-messages::-webkit-scrollbar-thumb{background:rgba(119,34,204,0.4);border-radius:2px;}
.lc-sys-msg{text-align:center;font-size:10px;color:rgba(255,255,255,0.35);padding:2px 0;}
.lc-msg{font-size:12px;line-height:1.5;word-break:break-word;padding:2px 0;}
.lc-msg-name{font-weight:bold;color:#ffaa44;}
.lc-msg-text{color:#e0e0e0;}
.lc-msg-time{font-size:9px;color:rgba(255,255,255,0.3);margin-left:4px;}
.lc-emoji-panel{display:none;flex-wrap:wrap;gap:3px;padding:4px 6px;background:rgba(10,5,25,0.95);border-top:1px solid rgba(119,34,204,0.2);max-height:80px;overflow-y:auto;flex-shrink:0;}
.lc-emoji-panel.show{display:flex;}
.lc-emoji-item{width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;font-size:16px;}
.lc-emoji-item:hover{background:rgba(119,34,204,0.3);}
.lc-input-row{display:flex;gap:4px;padding:6px 8px;background:rgba(15,6,30,0.95);border-top:1px solid rgba(119,34,204,0.2);flex-shrink:0;}
.lc-emoji-btn{background:none;border:1px solid rgba(119,34,204,0.3);border-radius:6px;font-size:16px;cursor:pointer;width:32px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.lc-emoji-btn:hover{background:rgba(119,34,204,0.2);}
.lc-input{flex:1;background:rgba(0,0,0,0.4);border:1px solid rgba(119,34,204,0.3);border-radius:6px;color:#fff;font-size:12px;padding:4px 8px;outline:none;min-width:0;}
.lc-input:focus{border-color:#7722cc;}
.lc-send-btn{background:rgba(119,34,204,0.4);border:1px solid rgba(119,34,204,0.5);color:#fff;font-size:11px;padding:4px 10px;border-radius:6px;cursor:pointer;flex-shrink:0;}
.lc-send-btn:hover{background:rgba(119,34,204,0.6);}

/* 移动端竖屏直播面板 */
@media(max-width:768px){
    .live-chat-panel{top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100vw!important;height:70vh!important;border-radius:12px 12px 0 0!important;border:none!important;border-top:2px solid rgba(119,34,204,0.5)!important;}
    .lc-platform-input{width:80px;font-size:13px;}
    .lc-nick-input{font-size:13px;}
    .lc-live-label{font-size:10px;}
    .lc-close-btn{width:36px;height:36px;font-size:18px;}
    .lc-emoji-btn{width:40px;height:40px;font-size:20px;}
    .lc-input{font-size:14px;height:36px;}
    .lc-send-btn{font-size:13px;min-height:36px;min-width:50px;}
    .lc-msg{font-size:13px;}
    .lc-emoji-item{width:36px;height:36px;font-size:20px;}
}

/* 移动端横屏直播面板 */
body.mobile-active.landscape .live-chat-panel{top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:280px!important;max-width:90vw!important;height:300px!important;max-height:75vh!important;border-radius:10px!important;border:2px solid rgba(119,34,204,0.5)!important;}
/* 生日下拉选择行 */
.birth-select-row{display:flex;display:-webkit-flex;gap:8px;-webkit-gap:8px;}
.birth-select-row .form-select{flex:1;-webkit-flex:1;min-width:0;padding:14px 8px;text-align:center;width:33.3%;float:left;margin-right:8px;box-sizing:border-box;}
.birth-select-row .form-select:last-child{margin-right:0;}
/* ====== 战力排行榜 ====== */
.leaderboard-panel{position:fixed;top:60px;right:20px;width:440px;max-height:85vh;background:rgba(12,7,25,0.96);border:2px solid rgba(255,170,0,0.4);border-radius:12px;z-index:5000;display:none;flex-direction:column;box-shadow:0 0 20px rgba(255,170,0,0.15);overflow:hidden;}
.leaderboard-panel.show{display:flex;}
.lb-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,rgba(255,170,0,0.15),rgba(170,80,0,0.1));border-bottom:1px solid rgba(255,170,0,0.2);cursor:move;user-select:none;-webkit-user-select:none;}
.lb-title{font-size:10px;font-weight:bold;color:#ffcc44;}
.lb-header-right{display:flex;align-items:center;gap:8px;}
.lb-refresh-label{font-size:10px;color:#886622;}
.lb-close{background:none;border:none;color:#888;font-size:11px;cursor:pointer;padding:2px 6px;}
.lb-close:hover{color:#ff4444;}
.lb-body{flex:1;overflow-y:auto;padding:10px;}
.lb-body::-webkit-scrollbar{width:4px;}
.lb-body::-webkit-scrollbar-thumb{background:rgba(255,170,0,0.3);border-radius:2px;}

/* 奥运领奖台 */
.lb-podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin-bottom:12px;padding:8px 0;}
.lb-podium-item{display:flex;flex-direction:column;align-items:center;flex:1;max-width:130px;}
.lb-podium-medal{font-size:16px;margin-bottom:1px;}
.lb-podium-name{font-size:8px;font-weight:bold;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-podium-lv{font-size:10px;color:#aa8844;margin-bottom:2px;}
.lb-podium-power{font-size:9px;font-weight:bold;margin-bottom:2px;}
.lb-podium-block{width:100%;border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:bold;}
.lb-podium-char{display:block;margin:2px auto;}
.lb-podium-1 .lb-podium-block{height:64px;background:linear-gradient(180deg,rgba(255,215,0,0.35),rgba(255,215,0,0.12));border:1px solid rgba(255,215,0,0.5);}
.lb-podium-1 .lb-podium-power{color:#ffd700;}
.lb-podium-2 .lb-podium-block{height:50px;background:linear-gradient(180deg,rgba(192,192,192,0.3),rgba(192,192,192,0.1));border:1px solid rgba(192,192,192,0.4);}
.lb-podium-2 .lb-podium-power{color:#c0c0c0;}
.lb-podium-3 .lb-podium-block{height:42px;background:linear-gradient(180deg,rgba(205,127,50,0.3),rgba(205,127,50,0.1));border:1px solid rgba(205,127,50,0.4);}
.lb-podium-3 .lb-podium-power{color:#cd7f32;}

/* 排名列表 */
.lb-list{display:flex;flex-direction:column;gap:3px;}
.lb-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;background:rgba(255,255,255,0.03);transition:0.2s;}
.lb-row:hover{background:rgba(255,170,0,0.08);}
.lb-row-rank{width:18px;text-align:center;font-size:9px;font-weight:bold;color:#888;flex-shrink:0;}
.lb-row-name{flex:1;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-row-lv{font-size:11px;color:#aa8844;flex-shrink:0;}
.lb-row-power{font-size:9px;font-weight:bold;color:#ffaa00;flex-shrink:0;}
.lb-row.self{background:rgba(136,255,170,0.08);border:1px solid rgba(136,255,170,0.2);}
.lb-row.self .lb-row-name{color:#88ffaa;}
.lb-row-divider{height:1px;background:rgba(255,255,255,0.06);margin:4px 0;}
.lb-empty{text-align:center;color:#555;font-size:9px;padding:30px 10px;}
.lb-footer{padding:6px 14px;border-top:1px solid rgba(255,170,0,0.15);font-size:10px;color:#665522;text-align:center;}

/* 移动端排行榜 */
body.mobile-active .leaderboard-panel{top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;width:95vw!important;max-width:460px!important;max-height:80vh!important;}
body.mobile-active.landscape .leaderboard-panel{width:92vw!important;max-width:500px!important;max-height:85vh!important;}
/* NPC零号对话面板 */
.npc-dialogue-panel{display:none;position:fixed;bottom:100px;left:50%;transform:translateX(-50%);width:420px;max-width:90vw;background:rgba(5,15,20,0.95);border:2px solid #00ffcc;border-radius:12px;box-shadow:0 0 30px rgba(0,255,204,0.3),0 4px 20px rgba(0,0,0,0.6);z-index:350;overflow:hidden;}
.npc-dialogue-panel.show{display:block;}
.npc-dialogue-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:linear-gradient(90deg,rgba(0,255,204,0.15),rgba(0,255,204,0.05));border-bottom:1px solid rgba(0,255,204,0.3);cursor:move;user-select:none;-webkit-user-select:none;}
.npc-name-tag{color:#00ffcc;font-size:14px;font-weight:bold;text-shadow:0 0 8px rgba(0,255,204,0.5);}
.npc-close-btn{background:none;border:none;color:#888;font-size:16px;cursor:pointer;padding:2px 6px;}
.npc-close-btn:hover{color:#ff4444;}
.npc-dialogue-body{display:flex;align-items:flex-start;gap:12px;padding:16px;}
.npc-avatar{font-size:36px;flex-shrink:0;filter:drop-shadow(0 0 6px #00ffcc);}
.npc-dialogue-text{color:#cceeff;font-size:14px;line-height:1.7;flex:1;min-height:50px;}
.npc-dialogue-footer{display:flex;gap:8px;padding:8px 14px 14px;}
.npc-bless-btn{flex:1;padding:8px 12px;background:linear-gradient(135deg,rgba(0,255,204,0.2),rgba(0,255,204,0.05));border:1px solid rgba(0,255,204,0.5);color:#00ffcc;border-radius:8px;cursor:pointer;font-size:13px;transition:all 0.2s;}
.npc-bless-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(0,255,204,0.35),rgba(0,255,204,0.1));box-shadow:0 0 12px rgba(0,255,204,0.3);}
.npc-bless-btn:disabled{opacity:0.5;cursor:not-allowed;}
.npc-next-btn{padding:8px 16px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;transition:all 0.2s;}
.npc-next-btn:hover{background:rgba(255,255,255,0.15);color:#fff;}
/* 移动端NPC对话 */
body.mobile-active #npcDialoguePanel{bottom:60px;width:92vw;max-width:92vw;}
body.mobile-active .npc-dialogue-body{padding:12px;}
body.mobile-active .npc-avatar{font-size:28px;}
body.mobile-active .npc-dialogue-text{font-size:13px;}
/* 背包分类筛选栏 */
.bag-filter-bar{display:flex;gap:3px;margin-bottom:8px;flex-wrap:wrap;}
.bag-filter-tab{padding:2px 5px;background:rgba(30,15,60,0.6);border:1px solid rgba(119,34,204,0.3);border-radius:3px;color:#9988bb;font-size:8px;cursor:pointer;transition:0.15s;white-space:nowrap;}
.bag-filter-tab:hover{background:rgba(50,25,90,0.8);color:#ccbbee;}
.bag-filter-tab.active{background:rgba(119,34,204,0.4);border-color:#ff88ff;color:#ff94ff;}
body.mobile-active .bag-filter-tab{padding:6px 10px;font-size:12px;min-height:32px;}
body.mobile-active.landscape .bag-filter-tab{padding:4px 8px;font-size:11px;min-height:28px;}
/* ====== 装备强化徽章 ====== */
.item-enhance{position:absolute;top:0;right:2px;font-size:7px;font-weight:bold;text-shadow:0 0 4px currentColor;}
.bag-slot{position:relative;}

/* ====== 炼化台面板 ====== */
.refine-panel{position:fixed;top:78px;left:50%;transform:translateX(-50%);width:300px;max-width:94vw;max-height:55vh;background:rgba(5,3,17,0.95);border:1.5px solid rgba(255,136,68,0.5);border-radius:6px;z-index:250;display:none;padding:4px;box-shadow:0 0 6px rgba(255,136,68,0.15);}
.refine-panel.show{display:block;animation:fadeIn 0.3s ease;}
.refine-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;font-size:7px;font-weight:bold;color:#ff8844;letter-spacing:0.5px;cursor:move;user-select:none;-webkit-user-select:none;}
.refine-close{background:none;border:none;color:#ff6666;font-size:9px;cursor:pointer;padding:0 3px;}
.refine-tabs{display:flex;gap:4px;margin-bottom:8px;}
.refine-tab{flex:1;padding:1px 3px;background:rgba(30,15,60,0.6);border:1px solid rgba(119,34,204,0.3);border-radius:2px;color:#9988bb;font-size:6px;cursor:pointer;transition:0.15s;text-align:center;}
.refine-tab:hover{background:rgba(50,25,90,0.8);color:#ccbbee;}
.refine-tab.active{background:rgba(255,136,68,0.2);border-color:#ff8844;color:#ffaa66;}
.refine-materials{display:flex;gap:4px;padding:1px 3px;background:rgba(20,10,40,0.6);border-radius:2px;margin-bottom:2px;font-size:6px;color:#aabbdd;}
.refine-materials b{color:#ffaa44;}
.refine-body{display:flex;gap:4px;height:calc(70vh - 80px);min-height:150px;}
.refine-item-list{width:42%;overflow-y:auto;border:1px solid rgba(119,34,204,0.3);border-radius:3px;padding:2px;}
.refine-item-list::-webkit-scrollbar{width:4px;}
.refine-item-list::-webkit-scrollbar-thumb{background:rgba(119,34,204,0.4);border-radius:2px;}
.refine-item{display:flex;align-items:center;gap:3px;padding:2px 3px;border:1px solid rgba(80,60,120,0.4);border-radius:2px;margin-bottom:1px;cursor:pointer;transition:0.15s;background:rgba(15,8,30,0.5);}
.refine-item:hover{background:rgba(40,20,70,0.7);}
.refine-item.selected{background:rgba(255,136,68,0.15);border-color:#ff8844;}
.refine-item span:first-child{font-size:8px;font-weight:bold;width:10px;text-align:center;}
.refine-item-name{flex:1;font-size:6px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.refine-item-ql{font-size:6px;opacity:0.8;}
.refine-empty{text-align:center;color:#666;padding:8px 3px;font-size:6px;}
.refine-detail{flex:1;overflow-y:auto;padding:2px 3px;}
.refine-detail::-webkit-scrollbar{width:4px;}
.refine-detail::-webkit-scrollbar-thumb{background:rgba(119,34,204,0.4);border-radius:2px;}
.refine-hint{text-align:center;color:#555;padding:10px 3px;font-size:7px;}
.refine-detail-name{font-size:7px;font-weight:bold;margin-bottom:1px;text-align:center;}
.refine-stat-section{background:rgba(15,8,30,0.5);border-radius:2px;padding:1px 3px;margin-bottom:1px;}
.refine-stat-title{font-size:6px;color:#8899bb;margin-bottom:1px;font-weight:bold;}
.refine-stat-row{display:flex;justify-content:space-between;font-size:6px;color:#bbccee;padding:0;}
.refine-info-box{background:rgba(20,10,40,0.6);border-radius:2px;padding:1px 3px;margin-bottom:2px;}
.refine-info-row{display:flex;justify-content:space-between;font-size:6px;padding:0;color:#aabbdd;}
.refine-action-btn{width:100%;padding:2px;background:linear-gradient(135deg,rgba(255,136,68,0.3),rgba(255,68,68,0.15));border:1px solid rgba(255,136,68,0.5);color:#ffaa66;border-radius:3px;cursor:pointer;font-size:10px;font-weight:bold;transition:0.2s;}
.refine-action-btn:hover:not(.disabled){background:linear-gradient(135deg,rgba(255,136,68,0.45),rgba(255,68,68,0.25));box-shadow:0 0 12px rgba(255,136,68,0.3);}
.refine-action-btn.disabled{opacity:0.4;cursor:not-allowed;}
.refine-action-btn.decompose{background:linear-gradient(135deg,rgba(100,200,100,0.25),rgba(50,150,50,0.1));border-color:rgba(100,200,100,0.5);color:#88dd88;}
.refine-action-btn.decompose:hover:not(.disabled){background:linear-gradient(135deg,rgba(100,200,100,0.4),rgba(50,150,50,0.2));box-shadow:0 0 12px rgba(100,200,100,0.3);}
.refine-warning{text-align:center;font-size:6px;color:#ff6644;margin-top:1px;}
.refine-maxed{text-align:center;font-size:7px;color:#ffdd44;padding:4px;font-weight:bold;}

/* 炼化台移动端 */
body.mobile-active .refine-panel{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:94vw!important;max-width:300px!important;max-height:55vh!important;border-radius:12px!important;}
body.mobile-active .refine-body{flex-direction:column;height:auto;min-height:200px;max-height:50vh;}
body.mobile-active .refine-item-list{width:100%!important;max-height:35vh;}
body.mobile-active .refine-detail{width:100%!important;max-height:35vh;}
body.mobile-active .refine-tab{padding:8px 10px;font-size:13px;min-height:36px;}
body.mobile-active.landscape .refine-panel{width:300px!important;max-width:92vw!important;max-height:55vh!important;}
body.mobile-active.landscape .refine-body{flex-direction:row;}
/* ====== 属性面板 ====== */
.stat-panel-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.5);z-index:260;display:none;align-items:center;justify-content:center;}
.stat-panel-overlay.show{display:flex;animation:fadeIn 0.25s ease;}
.stat-panel-box{width:300px;max-width:92vw;max-height:75vh;background:rgba(5,3,17,0.96);border:2px solid rgba(100,180,255,0.5);border-radius:12px;z-index:270;box-shadow:0 0 24px rgba(100,180,255,0.2),0 6px 20px rgba(0,0,0,0.5);overflow:hidden;display:flex;flex-direction:column;}
.sp-header{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;background:linear-gradient(135deg,rgba(100,180,255,0.12),rgba(50,100,200,0.05));border-bottom:1px solid rgba(100,180,255,0.25);font-size:15px;font-weight:bold;color:#88ccff;letter-spacing:1px;flex-shrink:0;cursor:move;user-select:none;-webkit-user-select:none;}
.sp-close{background:none;border:none;color:#888;font-size:12px;cursor:pointer;padding:0 4px;}
.sp-close:hover{color:#ff6666;}
.sp-body{padding:12px 14px;overflow-y:auto;flex:1;}
.sp-body::-webkit-scrollbar{width:4px;}
.sp-body::-webkit-scrollbar-thumb{background:rgba(100,180,255,0.3);border-radius:2px;}
.sp-section{color:#ffdd44;font-size:8px;font-weight:bold;margin:5px 0 2px;padding-bottom:3px;border-bottom:1px solid rgba(255,221,68,0.2);letter-spacing:1px;}
.sp-section:first-child{margin-top:0;}
.sp-row{display:flex;justify-content:space-between;align-items:center;padding:1px 0;font-size:9px;color:#aabbdd;}
.sp-row span:last-child{font-weight:bold;}

/* 移动端属性面板 */
body.mobile-active .stat-panel-overlay{z-index:520;}
body.mobile-active .stat-panel-box{width:94vw!important;max-width:420px!important;max-height:78vh!important;border-radius:12px!important;}
body.mobile-active .sp-header{font-size:16px;padding:12px 14px;}
body.mobile-active .sp-body{padding:14px;}
body.mobile-active .sp-row{font-size:14px;padding:3px 0;}
body.mobile-active .sp-section{font-size:13px;}
body.mobile-active.landscape .stat-panel-box{width:420px!important;max-width:90vw!important;max-height:82vh!important;}

/* 批量分解队列 */
.decompose-queue-list{max-height:140px;overflow-y:auto;margin-bottom:4px;border:1px solid rgba(100,200,100,0.2);border-radius:4px;padding:3px;}
.decompose-queue-list::-webkit-scrollbar{width:4px;}
.decompose-queue-list::-webkit-scrollbar-thumb{background:rgba(100,200,100,0.4);border-radius:2px;}
.decompose-queue-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid rgba(80,60,120,0.4);border-radius:5px;margin-bottom:3px;cursor:pointer;transition:0.15s;background:rgba(20,40,20,0.5);}
.decompose-queue-item:hover{background:rgba(60,80,60,0.7);}
.decompose-queue-item span:first-child{font-size:10px;font-weight:bold;width:14px;text-align:center;}
.decompose-queue-item .refine-item-name{flex:1;font-size:6px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ==================== 反馈建议面板 ==================== */
.feedback-panel {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 380px;
    max-width: 90vw;
    background: rgba(15, 8, 28, 0.96);
    border: 2px solid rgba(180, 140, 255, 0.35);
    border-radius: 12px;
    box-shadow: 0 0 30px rgba(140, 80, 255, 0.3), 0 8px 40px rgba(0, 0, 0, 0.7);
    z-index: 9000;
    overflow: hidden;
    flex-direction: column;
}
.feedback-panel.show {
    display: block;
}
.fb-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(80, 40, 140, 0.5), rgba(40, 20, 80, 0.5));
    border-bottom: 1px solid rgba(180, 140, 255, 0.25);
    cursor: move;
    user-select: none;
    -webkit-user-select: none;
}
.fb-header span {
    color: #d4c0ff;
    font-size: 16px;
    font-weight: bold;
    text-shadow: 0 0 8px rgba(180, 140, 255, 0.5);
}
.fb-close {
    background: none;
    border: none;
    color: #a080d0;
    font-size: 18px;
    cursor: pointer;
    padding: 2px 8px;
    border-radius: 4px;
    transition: all 0.2s;
}
.fb-close:hover {
    color: #ff6464;
    background: rgba(255, 100, 100, 0.15);
}
.fb-body {
    padding: 16px;
}
.fb-textarea {
    width: 100%;
    height: 120px;
    background: rgba(10, 5, 20, 0.8);
    border: 1px solid rgba(180, 140, 255, 0.25);
    border-radius: 8px;
    color: #e0d8f0;
    font-size: 14px;
    padding: 10px 12px;
    resize: vertical;
    min-height: 80px;
    max-height: 200px;
    box-sizing: border-box;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
}
.fb-textarea:focus {
    border-color: rgba(180, 140, 255, 0.6);
    box-shadow: 0 0 10px rgba(140, 80, 255, 0.2);
}
.fb-textarea::placeholder {
    color: #6a5a8a;
}
.fb-status {
    font-size: 13px;
    margin-top: 8px;
    min-height: 18px;
    text-align: center;
}
.fb-status.success {
    color: #66ff99;
}
.fb-status.error {
    color: #ff6464;
}
.fb-submit {
    width: 100%;
    margin-top: 12px;
    padding: 10px;
    background: linear-gradient(135deg, #6c3ce0, #8b5cf6);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.fb-submit:hover:not(:disabled) {
    background: linear-gradient(135deg, #7c4cf0, #9b6dff);
    box-shadow: 0 0 15px rgba(140, 80, 255, 0.4);
}
.fb-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
/* 移动端适配 */
@media (max-width: 768px) {
    .feedback-panel {
        width: 90vw;
        top: 50%;
    }
    .fb-textarea {
        height: 100px;
        font-size: 16px;
    }
}

/* ====== 目标血条（左上角，攻击时显示） ====== */
.target-hp-bar{display:none;position:fixed;top:80px;left:352px;width:200px;background:rgba(10,0,20,0.92);border:2px solid rgba(180,80,255,0.5);border-radius:8px;box-shadow:0 0 4px rgba(180,80,255,0.2),0 2px 4px rgba(0,0,0,0.3);z-index:300;padding:6px;display:flex;align-items:center;gap:8px;}
.target-hp-bar #targetAvatar{border-radius:6px;background:rgba(0,0,0,0.3);flex-shrink:0;}
.thp-info{flex:1;min-width:0;}
.thp-name{color:#ff88aa;font-size:12px;font-weight:bold;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 4px rgba(255,102,170,0.4);}
.thp-track{width:100%;height:10px;background:#1a0010;border:1px solid #440066;border-radius:5px;overflow:hidden;}
.thp-fill{height:100%;width:100%;background:linear-gradient(90deg,#ff0000,#ff4444,#ff6666);border-radius:5px;transition:width 0.2s ease;box-shadow:0 0 6px rgba(255,0,0,0.4) inset;}
.thp-text{color:#ffaaaa;font-size:10px;margin-top:2px;}

/* ====== 任务进度指示器 ====== */
.quest-indicator{display:flex;align-items:center;gap:3px;background:rgba(10,0,20,0.85);border:1px solid #b450ff;border-radius:20px;padding:2px 10px;font-size:12px;color:#ddaaff;cursor:default;white-space:nowrap;box-shadow:0 0 8px rgba(180,80,255,0.2);}
.quest-indicator span:first-child{font-size:14px;}

/* 移动端Boss血条适配 - 已移除，改用target-hp-bar */

/* ====== 数据管理面板 ====== */
.data-mgr-panel{display:none;position:fixed;top:60px;right:20px;width:300px;max-width:90vw;max-height:70vh;background:rgba(10,5,20,0.96);border:1.5px solid #4488ff;border-radius:8px;box-shadow:0 0 6px rgba(68,136,255,0.2);z-index:400;overflow:hidden;flex-direction:column;}
.data-mgr-panel.show{display:flex;}
.dm-header{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:rgba(68,136,255,0.15);border-bottom:1px solid rgba(68,136,255,0.3);cursor:move;font-size:10px;color:#88bbff;font-weight:bold;letter-spacing:0.5px;}
.dm-close{background:none;border:none;color:#88bbff;font-size:12px;cursor:pointer;padding:1px 4px;border-radius:3px;}
.dm-close:hover{background:rgba(255,100,100,0.2);color:#ff6666;}
.dm-body{padding:6px 8px;overflow-y:auto;flex:1;}
.dm-section{margin-bottom:8px;}
.dm-section-title{font-size:9px;color:#aaddff;margin-bottom:4px;font-weight:bold;display:flex;align-items:center;gap:4px;}
.dm-count-badge{display:inline-block;background:rgba(68,136,255,0.3);color:#88bbff;font-size:8px;padding:0 5px;border-radius:8px;border:1px solid rgba(68,136,255,0.4);min-width:14px;text-align:center;}
.dm-info-box{background:rgba(0,0,0,0.3);border:1px solid rgba(68,136,255,0.2);border-radius:4px;padding:5px 7px;font-size:9px;color:#b0c8e0;line-height:1.5;margin-bottom:4px;}
.dm-info-box .dm-row{display:flex;justify-content:space-between;}
.dm-info-box .dm-label{color:#6688aa;}
.dm-info-box .dm-val{color:#e0e0f0;font-weight:bold;}
.dm-account-list{max-height:140px;overflow-y:auto;margin-bottom:4px;}
.dm-account-item{display:flex;justify-content:space-between;align-items:center;padding:3px 6px;margin-bottom:2px;background:rgba(0,0,0,0.3);border:1px solid rgba(68,136,255,0.15);border-radius:4px;font-size:9px;color:#c0d0e0;}
.dm-account-item:hover{border-color:rgba(68,136,255,0.4);background:rgba(68,136,255,0.08);}
.dm-acc-info{flex:1;}
.dm-acc-name{color:#e0e0f0;font-weight:bold;}
.dm-acc-detail{color:#8090a0;font-size:8px;margin-top:1px;}
.dm-acc-del{background:none;border:1px solid rgba(255,80,80,0.3);color:#ff8888;font-size:8px;padding:2px 5px;border-radius:3px;cursor:pointer;white-space:nowrap;}
.dm-acc-del:hover{background:rgba(255,80,80,0.15);border-color:rgba(255,80,80,0.6);}
.dm-btn-row{display:flex;gap:4px;flex-wrap:wrap;}
.dm-btn{flex:1;min-width:60px;padding:3px 6px;border-radius:4px;font-size:9px;cursor:pointer;border:1px solid;text-align:center;transition:opacity 0.2s;white-space:nowrap;}
.dm-btn:hover{opacity:0.85;}
.dm-btn-export{background:rgba(68,200,100,0.15);border-color:rgba(68,200,100,0.4);color:#66dd88;}
.dm-btn-import{background:rgba(68,136,255,0.15);border-color:rgba(68,136,255,0.4);color:#88bbff;}
.dm-btn-danger{background:rgba(255,80,80,0.15);border-color:rgba(255,80,80,0.4);color:#ff8888;}
.dm-empty{text-align:center;color:#666;font-size:9px;padding:8px;}
@media(max-width:600px){
    .data-mgr-panel{top:auto;bottom:60px;right:5vw;left:5vw;width:auto;max-height:70vh;}
}

/* ==================== 手机强制横版旋转提示 ==================== */
.rotate-hint{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#010106;z-index:99999;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:40px;}
.rotate-icon{font-size:64px;animation:rotateAnim 2s ease-in-out infinite;}
@keyframes rotateAnim{0%,100%{transform:rotate(0deg);}50%{transform:rotate(90deg);}}
.rotate-text{font-size:28px;font-weight:bold;color:#ff94ff;letter-spacing:4px;text-shadow:0 0 12px rgba(255,148,255,0.5);}
.rotate-sub{font-size:14px;color:#8866bb;line-height:1.8;max-width:320px;}
/* 移动端强制横版：CSS旋转（微信/QQ内置浏览器不跟随物理旋转） */
body.mobile-active.force-rotate .game-world{
    transform:rotate(90deg);
    transform-origin:top left;
    position:fixed;
    top:0;
    left:100vw;
    width:100vh!important;
    height:100vw!important;
    display:block!important;
    overflow:hidden;
}
body.mobile-active.force-rotate .rotate-hint{display:none!important;}
body.mobile-active.force-rotate .world-map-overlay,
body.mobile-active.force-rotate .stat-panel-overlay{
    width:100%!important;
    height:100%!important;
}
/* 工具栏已移出gameWorld，position:fixed直接定位到屏幕底部，无需force-rotate特殊处理 */

/* ==================== 移动端横版面板统一60%高度 ==================== */
/* 所有移动端面板在横版下统一为70vh高度，居中显示 */
body.mobile-active.landscape .chat-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:380px!important;max-width:90vw!important;
    height:70vh!important;max-height:70vh!important;
}
body.mobile-active.landscape .char-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:280px!important;max-width:90vw!important;
    max-height:70vh!important;height:70vh!important;
}
body.mobile-active.landscape .char-panel .cp-body{
    max-height:calc(70vh - 50px)!important;
}
body.mobile-active.landscape .inventory-panel{
    top:50%!important;left:50%!important;right:auto!important;
    transform:translate(-50%,-50%)!important;
    width:280px!important;max-width:90vw!important;
    max-height:70vh!important;height:70vh!important;
}
body.mobile-active.landscape .help-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:460px!important;max-width:92vw!important;
    max-height:70vh!important;height:70vh!important;
}
body.mobile-active.landscape .stat-panel-overlay .stat-panel-box{
    width:400px!important;max-width:90vw!important;
    max-height:70vh!important;height:70vh!important;
}
body.mobile-active.landscape .leaderboard-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:460px!important;max-width:92vw!important;
    max-height:70vh!important;height:70vh!important;
}
body.mobile-active.landscape .refine-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:300px!important;max-width:92vw!important;
    max-height:55vh!important;height:55vh!important;
}
body.mobile-active.landscape .refine-body{
    flex-direction:row!important;
    height:calc(70vh - 160px)!important;min-height:180px!important;
}
body.mobile-active.landscape .feedback-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:400px!important;max-width:92vw!important;
    max-height:70vh!important;height:70vh!important;
}
body.mobile-active.landscape .data-mgr-panel{
    top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:400px!important;max-width:92vw!important;
    max-height:70vh!important;height:70vh!important;
}
body.mobile-active.landscape .live-chat-panel{
    top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:280px!important;max-width:90vw!important;
    height:70vh!important;max-height:70vh!important;
    border-radius:10px!important;
    border:2px solid rgba(119,34,204,0.5)!important;
}
body.mobile-active.landscape .npc-dialogue-panel{
    top:50%!important;bottom:auto!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:420px!important;max-width:92vw!important;
    max-height:70vh!important;
}
body.mobile-active.landscape .world-map-overlay .wm-container{
    max-height:70vh!important;
}
body.mobile-active.landscape .mobile-item-detail{
    top:auto!important;bottom:0!important;
    max-height:70vh!important;
}
/* 移动端工具栏单行横向滚动 */
body.mobile-active.landscape #mobileToolbar{
    flex-wrap:nowrap;
    max-width:100vw;
    overflow-x:auto;
    justify-content:center;
    gap:4px;
    padding:2px 4px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
body.mobile-active.landscape #mobileToolbar::-webkit-scrollbar{display:none;}
body.mobile-active.landscape .mt-btn{
    width:36px;height:36px;min-width:36px;min-height:36px;font-size:16px;flex-shrink:0;
}

/* ==================== Force-rotate 模式完整面板适配 ==================== */
/* 旋转后：视口宽=100vh，高=100vw，所有vw↔vh互换 */
/* msg-toast 已移入game-world，跟随旋转，无需独立旋转 */

/* ====== 移动端输入遮罩（force-rotate键盘竖版修复） ====== */
#mobileInputOverlay{
    position:fixed;top:0;left:0;width:100vw;height:100vh;
    background:rgba(0,0,0,0.6);z-index:100001;
    display:none;flex-direction:column;justify-content:flex-end;
}
#mobileInputOverlay .mio-title{
    color:#d4c0ff;font-size:14px;text-align:center;padding:8px;
    background:rgba(15,8,28,0.95);border-bottom:1px solid rgba(180,140,255,0.25);
}
#mobileInputOverlay .mio-bar{
    display:flex;align-items:center;gap:6px;padding:8px;
    background:#1a1a2e;border-top:1px solid rgba(180,140,255,0.3);
    padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));
}
#mobileInputOverlay .mio-bar input{
    flex:1;padding:10px 14px;border:1px solid rgba(180,140,255,0.4);
    border-radius:8px;background:#0d0d1a;color:#fff;font-size:16px;outline:none;
}
#mobileInputOverlay .mio-bar button{
    padding:10px 16px;border:none;border-radius:8px;
    background:#6c3ce1;color:#fff;font-size:14px;cursor:pointer;white-space:nowrap;
}
#mobileInputOverlay .mio-bar button:active{background:#5a2dc7;}
#mobileInputOverlay .mio-emoji-panel{
    display:none;flex-wrap:wrap;gap:4px;padding:8px;
    background:#1a1a2e;max-height:100px;overflow-y:auto;
}
#mobileInputOverlay .mio-emoji-panel.show{display:flex;}
#mobileInputOverlay .mio-emoji-panel .emoji-item{
    font-size:20px;padding:4px 6px;cursor:pointer;border-radius:4px;
}
#mobileInputOverlay .mio-emoji-panel .emoji-item:active{background:rgba(255,255,255,0.1);}

/* 所有面板：居中显示，尺寸用vh/vw互换 */
body.mobile-active.force-rotate.landscape .chat-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:380px!important;max-width:90vh!important;
    height:70vw!important;max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .char-panel{
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:280px!important;max-width:90vw!important;
    height:70vw!important;max-height:70vw!important;
    overflow:hidden!important;
}
body.mobile-active.force-rotate.landscape .char-panel .cp-header{
    position:absolute!important;top:0!important;left:0!important;width:100%!important;
    padding:8px 12px!important;background:rgba(5,3,17,0.98)!important;
    border-radius:10px 10px 0 0!important;box-sizing:border-box!important;z-index:260!important;
}
body.mobile-active.force-rotate.landscape .char-panel .cp-body{
    padding:10px 12px!important;padding-top:42px!important;
    max-height:calc(70vw - 50px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;
}
body.mobile-active.force-rotate.landscape .cp-equip-slot{min-height:36px!important;font-size:9px!important;}
body.mobile-active.force-rotate.landscape .cp-stats{font-size:11px;line-height:1.6;}
body.mobile-active.force-rotate.landscape .inventory-panel{
    top:50%!important;left:50%!important;right:auto!important;
    transform:translate(-50%,-50%)!important;
    width:280px!important;max-width:90vw!important;
    height:70vw!important;max-height:70vw!important;
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    padding:10px!important;padding-top:42px!important;
}
body.mobile-active.force-rotate.landscape .inventory-panel .inv-header{
    position:absolute!important;top:0!important;left:0!important;width:100%!important;
    padding:8px 12px!important;background:rgba(5,3,17,0.98)!important;
    border-radius:10px 10px 0 0!important;box-sizing:border-box!important;z-index:260!important;
    flex-shrink:0!important;
}
body.mobile-active.force-rotate.landscape .help-panel{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:460px!important;max-width:92vh!important;
    height:70vw!important;max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .stat-panel-overlay{
    width:100%!important;height:100%!important;
}
body.mobile-active.force-rotate.landscape .stat-panel-overlay .stat-panel-box{
    width:400px!important;max-width:90vh!important;
    height:70vw!important;max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .leaderboard-panel{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:460px!important;max-width:92vh!important;
    height:70vw!important;max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .refine-panel{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:300px!important;max-width:92vw!important;
    height:88vw!important;max-height:88vw!important;
}
body.mobile-active.force-rotate.landscape .refine-body{
    flex-direction:row!important;
    height:calc(88vw - 150px)!important;min-height:160px!important;
}
body.mobile-active.force-rotate.landscape .refine-item-list{
    width:42%!important;overflow-y:auto!important;
}
body.mobile-active.force-rotate.landscape .refine-detail{
    flex:1!important;overflow-y:auto!important;
}
body.mobile-active.force-rotate.landscape .refine-item{
    min-height:64px!important;padding:6px 6px!important;
    flex-direction:column!important;align-items:flex-start!important;
    justify-content:center!important;gap:2px!important;
}
body.mobile-active.force-rotate.landscape .refine-item span:first-child{
    font-size:8px!important;
}
body.mobile-active.force-rotate.landscape .refine-item-name{
    font-size:10px!important;white-space:normal!important;line-height:1.2!important;
    width:100%!important;
}
body.mobile-active.force-rotate.landscape .refine-item-ql{
    font-size:8px!important;
}
body.mobile-active.force-rotate.landscape .feedback-panel{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:400px!important;max-width:92vh!important;
    height:70vw!important;max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .data-mgr-panel{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:400px!important;max-width:92vh!important;
    height:70vw!important;max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .live-chat-panel{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:280px!important;max-width:90vw!important;
    height:70vw!important;max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .npc-dialogue-panel{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    top:50%!important;bottom:auto!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:420px!important;max-width:92vh!important;
    max-height:70vw!important;
}
body.mobile-active.force-rotate.landscape .world-map-overlay{
    width:100%!important;height:100%!important;
}
body.mobile-active.force-rotate.landscape .world-map-overlay .wm-container{
    width:65vh!important;max-width:65vh!important;
    max-height:55vw!important;
}
body.mobile-active.force-rotate.landscape .wm-body{
    min-height:200px!important;
}
body.mobile-active.force-rotate.landscape .mobile-item-detail{
    top:auto!important;bottom:0!important;
    max-height:70vw!important;
    width:100%!important;
}
body.mobile-active.force-rotate.landscape .target-hp-bar{
    width:200px!important;
}
/* 工具栏已移出gameWorld，position:fixed直接定位到屏幕底部，无需force-rotate特殊处理 */
/* 背包分类筛选栏在force-rotate下确保可见 */
body.mobile-active.force-rotate.landscape .inventory-panel .bag-filter-bar{
    display:flex!important;flex-wrap:wrap!important;gap:3px!important;
    margin-bottom:8px!important;
}
body.mobile-active.force-rotate.landscape .bag-filter-tab{
    padding:4px 8px!important;font-size:11px!important;min-height:28px!important;
}
/* 背包网格在force-rotate下确保不被截断 */
body.mobile-active.force-rotate.landscape .inventory-panel .bag-grid{
    grid-template-columns:repeat(6,1fr)!important;gap:3px!important;
}

/* ====== Boss状态面板 ====== */
.boss-status-btn{position:absolute;top:2px;left:50%;transform:translateX(-50%);margin-left:60px;background:rgba(10,0,20,0.85);border:1px solid #ff4444;border-radius:8px;padding:1px 6px;font-size:9px;color:#ff6666;cursor:pointer;white-space:nowrap;z-index:1001;}
.boss-status-btn:hover{background:rgba(40,0,10,0.95);}
.boss-status-panel{position:fixed;top:40px;left:50%;transform:translateX(-50%);background:rgba(8,4,16,0.96);border:1px solid #6644aa;border-radius:10px;padding:0;width:300px;max-height:360px;overflow-y:auto;z-index:1002;box-shadow:0 4px 20px rgba(0,0,0,0.6);}
.boss-panel-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-bottom:1px solid #442266;font-size:9px;color:#ddaaff;font-weight:bold;cursor:move;user-select:none;-webkit-user-select:none;background:rgba(8,4,16,0.96);border-radius:10px 10px 0 0;}
.boss-panel-close{background:none;border:none;color:#aa88cc;font-size:11px;cursor:pointer;padding:0 4px;}
.boss-panel-close:hover{color:#ff6666;}
.boss-status-list{padding:4px 8px 8px;}
.boss-status-item{display:flex;align-items:center;gap:4px;padding:3px 4px;margin:2px 0;border-radius:4px;font-size:8px;line-height:1.4;border:1px solid rgba(100,60,140,0.3);}
.boss-status-item .bs-num{font-weight:bold;width:20px;text-align:center;flex-shrink:0;}
.boss-status-item .bs-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.boss-status-item .bs-map{color:#88aaff;font-size:10px;flex-shrink:0;}
.boss-status-item .bs-state{font-size:10px;padding:1px 6px;border-radius:8px;flex-shrink:0;white-space:nowrap;}
.bs-state-alive{background:rgba(0,200,80,0.2);color:#44ff66;}
.bs-state-respawn{background:rgba(255,160,0,0.2);color:#ffaa00;}
.bs-state-ready{background:rgba(0,160,255,0.2);color:#44aaff;}
.bs-state-locked{background:rgba(120,120,120,0.15);color:#888;}
.bs-state-wait{background:rgba(255,200,0,0.15);color:#ddaa00;}
.boss-status-item.bs-current{border-color:rgba(255,80,80,0.5);background:rgba(40,10,10,0.4);}
@media(max-width:768px){
    .boss-status-panel{width:90%;max-width:320px;top:32px;}
    .boss-status-btn{font-size:11px;padding:2px 8px;margin-left:50px;}
}
/* ========== Boss传送按钮 ========== */
.bs-teleport-btn{font-size:10px;padding:1px 8px;border-radius:6px;border:1px solid rgba(100,200,255,0.4);background:rgba(0,60,100,0.4);color:#88ddff;cursor:pointer;flex-shrink:0;transition:0.2s;}
.bs-teleport-btn:hover{background:rgba(0,100,160,0.6);border-color:#44aaff;box-shadow:0 0 8px rgba(68,170,255,0.3);}

/* ========== 合成台面板 ========== */
.synth-panel{position:fixed;top:78px;left:50%;transform:translateX(-50%);width:540px;max-width:94vw;max-height:85vh;background:rgba(5,3,17,0.95);border:2px solid rgba(170,200,255,0.4);border-radius:10px;z-index:250;display:none;padding:12px;box-shadow:0 0 20px rgba(100,150,255,0.2);overflow-y:auto;}
.synth-panel.show{display:block;animation:fadeIn 0.3s ease;}
.synth-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:15px;font-weight:bold;color:#aaccff;letter-spacing:1px;cursor:move;user-select:none;-webkit-user-select:none;}
.synth-close{background:none;border:none;color:#aaccff;font-size:18px;cursor:pointer;padding:0 4px;}
.synth-close:hover{color:#ff6666;}
.synth-tabs{display:flex;gap:4px;margin-bottom:10px;}
.synth-tab{flex:1;padding:6px 4px;font-size:12px;border:1px solid rgba(100,150,255,0.3);background:rgba(10,5,30,0.8);color:#88aacc;border-radius:6px;cursor:pointer;transition:0.2s;text-align:center;}
.synth-tab:hover{border-color:rgba(150,200,255,0.5);color:#aaccff;}
.synth-tab.active{background:rgba(40,20,80,0.8);border-color:#6688ff;color:#aaccff;box-shadow:0 0 8px rgba(100,150,255,0.2);}
.synth-body{max-height:60vh;overflow-y:auto;}
.synth-section{margin-bottom:14px;}
.synth-section-title{font-size:13px;color:#aaccff;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(100,150,255,0.2);}
.synth-empty{text-align:center;color:#667788;padding:20px;font-size:13px;}
.synth-absorb-info{font-size:11px;color:#88aacc;margin-bottom:8px;padding:6px;background:rgba(40,20,60,0.4);border-radius:6px;}

/* 技能升级条目 */
.synth-skill-item{display:flex;flex-direction:column;padding:6px;background:rgba(10,5,30,0.6);border:1px solid rgba(100,150,255,0.15);border-radius:8px;margin-bottom:6px;gap:3px;}
.synth-skill-top{display:flex;align-items:center;gap:6px;}
.synth-skill-bottom{display:flex;align-items:center;gap:4px;}
.synth-skill-icon{font-size:16px;}
.synth-skill-name{font-size:12px;color:#ffddaa;font-weight:bold;flex:1;}
.synth-skill-lv{font-size:10px;color:#44ff88;background:rgba(0,40,20,0.5);padding:1px 5px;border-radius:4px;flex-shrink:0;}
.synth-exp-bar{flex:1;min-width:60px;height:10px;background:rgba(0,0,0,0.5);border-radius:5px;overflow:hidden;border:1px solid rgba(100,150,255,0.2);}
.synth-exp-fill{height:100%;background:linear-gradient(90deg,#44ff88,#88ffaa);transition:width 0.3s;border-radius:5px;}
.synth-exp-text{font-size:10px;color:#88aacc;white-space:nowrap;}
.synth-book-count{font-size:10px;color:#dda;white-space:nowrap;}

/* 回收/吸收条目 */
.synth-recycle-item,.synth-absorb-item{display:flex;align-items:center;gap:8px;padding:8px;background:rgba(10,5,30,0.6);border:1px solid rgba(100,150,255,0.15);border-radius:8px;margin-bottom:6px;}
.synth-item-name{font-size:12px;color:#ddccaa;min-width:100px;}
.synth-recycle-result{font-size:11px;color:#ffaa44;flex:1;}
.synth-absorb-stat{font-size:11px;color:#aaff88;flex:1;}
.synth-absorb-count{font-size:10px;color:#888899;}
.synth-total-bonus{margin-top:8px;padding:8px;background:rgba(40,60,20,0.4);border:1px solid rgba(100,200,80,0.3);border-radius:6px;font-size:12px;color:#aaff88;}

/* 通用按钮 */
.synth-action-btn{font-size:11px;padding:3px 10px;border-radius:6px;border:1px solid rgba(100,200,100,0.3);background:rgba(20,50,20,0.6);color:#88dd88;cursor:pointer;transition:0.2s;white-space:nowrap;}
.synth-action-btn:hover{background:rgba(40,80,40,0.8);border-color:#44ff44;box-shadow:0 0 6px rgba(68,255,68,0.2);}
.synth-action-btn:disabled{opacity:0.4;cursor:not-allowed;}

/* 移动端合成面板适配 */
body.mobile-active .synth-panel{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:94vw!important;max-width:300px!important;max-height:55vh!important;}
body.mobile-active.landscape .synth-panel{width:540px!important;max-width:92vw!important;max-height:82vh!important;}


/* ====== v34: 其他玩家信息面板 ====== */
.player-info-bar{position:fixed;top:80px;left:352px;width:320px;background:rgba(10,5,25,0.9);border:2px solid rgba(100,180,255,0.5);border-radius:8px;box-shadow:0 0 12px rgba(100,180,255,0.25),0 4px 10px rgba(0,0,0,0.5);z-index:310;padding:8px;display:flex;align-items:center;gap:8px;}
.player-info-bar #playerInfoAvatar{border-radius:6px;background:rgba(0,0,0,0.3);flex-shrink:0;}
.pi-info{flex:1;min-width:0;}
.pi-name{color:#88ccff;font-size:13px;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 4px rgba(100,180,255,0.4);}
.pi-sub{color:#aabbdd;font-size:11px;margin-top:2px;}
.pi-btns{display:flex;flex-direction:column;gap:4px;flex-shrink:0;}
.pi-view-btn{padding:5px 12px;background:linear-gradient(180deg,#3388dd,#115599);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:11px;white-space:nowrap;}
.pi-view-btn:hover{background:linear-gradient(180deg,#44aaff,#2277bb);box-shadow:0 0 6px rgba(68,170,255,0.4);}
.pi-close-btn{width:24px;height:24px;background:rgba(30,15,60,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:4px;color:#ccbbff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;}
.pi-close-btn:hover{color:#ff6666;border-color:#ff6666;}

/* ====== v34: 其他玩家详细状态面板（只读） ====== */
.player-detail-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:460px;max-width:94vw;max-height:85vh;background:rgba(8,4,22,0.95);border:2px solid rgba(100,180,255,0.5);border-radius:12px;z-index:320;display:none;flex-direction:column;overflow:hidden;box-shadow:0 0 24px rgba(100,180,255,0.2);}
.player-detail-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.pd-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:rgba(12,20,40,0.95);border-bottom:1px solid rgba(100,180,255,0.3);cursor:move;flex-shrink:0;user-select:none;-webkit-user-select:none;}
.pd-header span{font-size:15px;color:#88ccff;font-weight:bold;letter-spacing:1px;}
.pd-close{width:26px;height:26px;background:rgba(30,15,60,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:5px;color:#ccbbff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;}
.pd-close:hover{color:#ff6666;border-color:#ff6666;}
.pd-body{flex:1;overflow-y:auto;padding:14px;}
.pd-body::-webkit-scrollbar{width:4px;}
.pd-body::-webkit-scrollbar-thumb{background:#5588bb;border-radius:2px;}
.pd-section-title{color:#88ccff;font-size:13px;font-weight:bold;margin:10px 0 6px;padding-bottom:3px;border-bottom:1px solid rgba(100,180,255,0.2);}
.pd-stat-row{display:flex;justify-content:space-between;padding:3px 8px;font-size:12px;color:#bbccdd;}
.pd-stat-row .pd-stat-label{color:#99aabb;}
.pd-stat-row .pd-stat-val{color:#ffdd88;font-weight:bold;}
.pd-equip-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px;}
.pd-equip-slot{background:rgba(15,8,30,0.8);border:1px solid rgba(80,60,120,0.4);border-radius:5px;padding:5px 8px;font-size:11px;display:flex;justify-content:space-between;align-items:center;}
.pd-equip-slot .pd-slot-name{color:#8899aa;}
.pd-equip-slot .pd-slot-item{color:#ddccff;font-weight:bold;text-align:right;}

/* v34: 移动端聊天面板保持原有覆盖逻辑 */
body.mobile-active .chat-panel{top:auto!important;bottom:60px!important;left:50%!important;transform:translateX(-50%)!important;width:94vw!important;max-width:420px!important;max-height:65vh!important;height:auto!important;resize:none!important;border-radius:10px!important;border:1px solid rgba(119,34,204,0.5)!important;}
body.mobile-active .player-info-bar{left:8px!important;right:auto!important;width:calc(100vw - 16px)!important;max-width:340px!important;}
body.mobile-active .player-detail-panel{width:94vw!important;max-width:420px!important;}
body.mobile-active.landscape .chat-panel{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:400px!important;max-width:90vw!important;max-height:75vh!important;height:auto!important;resize:none!important;}

/* v34: 移动端怪物血条位置 */
body.mobile-active .target-hp-bar{top:58px!important;left:8px!important;width:160px!important;}
body.mobile-active.landscape .target-hp-bar{top:44px!important;left:8px!important;width:140px!important;}

/* ====== v34: 摆摊系统样式 ====== */
.inv-bottom-bar{padding:6px 8px;border-top:1px solid rgba(119,34,204,0.3);display:flex;justify-content:center;}
.inv-stall-btn{padding:3px 12px;background:linear-gradient(180deg,#ffaa44,#cc7722);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:9px;font-weight:bold;transition:0.2s;}
.inv-stall-btn:hover{background:linear-gradient(180deg,#ffbb55,#dd8833);box-shadow:0 0 8px rgba(255,170,68,0.4);}

/* 摆摊管理面板 */
.stall-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;max-width:92vw;max-height:80vh;background:rgba(12,8,25,0.95);border:2px solid rgba(255,170,68,0.5);border-radius:12px;z-index:330;display:none;flex-direction:column;overflow:hidden;box-shadow:0 0 24px rgba(255,170,68,0.2);}
.stall-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.stall-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:rgba(30,20,10,0.95);border-bottom:1px solid rgba(255,170,68,0.3);cursor:move;flex-shrink:0;user-select:none;-webkit-user-select:none;}
.stall-header span{font-size:15px;color:#ffaa44;font-weight:bold;letter-spacing:1px;}
.stall-close-btn{width:26px;height:26px;background:rgba(30,15,60,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:5px;color:#ccbbff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;}
.stall-close-btn:hover{color:#ff6666;border-color:#ff6666;}
.stall-status-row{padding:8px 16px;border-bottom:1px solid rgba(255,170,68,0.15);font-size:13px;flex-shrink:0;}
.stall-item-list{flex:1;overflow-y:auto;padding:8px 12px;}
.stall-item-list::-webkit-scrollbar{width:4px;}
.stall-item-list::-webkit-scrollbar-thumb{background:#aa7722;border-radius:2px;}
.stall-item-row{display:flex;align-items:flex-start;gap:8px;padding:8px;margin-bottom:4px;background:rgba(20,12,8,0.6);border:1px solid rgba(80,50,20,0.3);border-radius:6px;font-size:12px;flex-wrap:wrap;}
.stall-item-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0;}
.stall-price-section{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.stall-price-input{width:90px;padding:4px 8px;background:#0a0612;border:1px solid #554422;border-radius:4px;color:#ffdd44;font-size:15px;font-weight:bold;text-align:center;}
.stall-quick-price{display:flex;gap:3px;flex-wrap:wrap;}
.stall-qp-btn{padding:3px 8px;background:rgba(60,40,10,0.8);border:1px solid rgba(255,170,68,0.3);border-radius:4px;color:#ffaa44;font-size:11px;cursor:pointer;transition:0.15s;}
.stall-qp-btn:hover{background:rgba(80,55,15,0.9);border-color:rgba(255,170,68,0.6);}
.stall-remove-btn{padding:2px 8px;background:rgba(80,20,20,0.6);border:1px solid rgba(200,50,50,0.4);border-radius:4px;color:#ff8888;cursor:pointer;font-size:11px;}
.stall-remove-btn:hover{background:rgba(120,30,30,0.8);}
.stall-add-section{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(255,170,68,0.2);}
.stall-inv-grid{display:flex;flex-wrap:wrap;gap:4px;max-height:200px;overflow-y:auto;}
.stall-inv-item{display:flex;flex-direction:column;align-items:center;padding:4px 8px;background:rgba(15,8,25,0.6);border:1px solid rgba(80,60,120,0.3);border-radius:5px;cursor:pointer;font-size:11px;min-width:60px;transition:0.15s;}
.stall-inv-item:hover{background:rgba(35,20,55,0.8);border-color:rgba(255,170,68,0.5);}
.stall-action-row{padding:10px 16px;border-top:1px solid rgba(255,170,68,0.2);display:flex;justify-content:center;gap:10px;flex-shrink:0;}
.stall-open-btn{padding:8px 30px;background:linear-gradient(180deg,#44aa44,#228822);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:bold;transition:0.2s;}
.stall-open-btn:hover{background:linear-gradient(180deg,#55bb55,#339933);box-shadow:0 0 8px rgba(68,255,68,0.3);}
.stall-close-biz-btn{padding:8px 30px;background:linear-gradient(180deg,#aa4444,#882222);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:bold;transition:0.2s;}
.stall-close-biz-btn:hover{background:linear-gradient(180deg,#bb5555,#993333);box-shadow:0 0 8px rgba(255,68,68,0.3);}

/* 摊位商店面板（买家浏览） */
.stall-shop-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-width:92vw;max-height:80vh;background:rgba(12,8,25,0.95);border:2px solid rgba(255,170,68,0.5);border-radius:12px;z-index:340;display:none;flex-direction:column;overflow:hidden;box-shadow:0 0 24px rgba(255,170,68,0.2);}
.stall-shop-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.ss-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:rgba(30,20,10,0.95);border-bottom:1px solid rgba(255,170,68,0.3);cursor:move;flex-shrink:0;user-select:none;-webkit-user-select:none;}
.ss-header span{font-size:15px;color:#ffaa44;font-weight:bold;letter-spacing:1px;}
.ss-close-btn{width:26px;height:26px;background:rgba(30,15,60,0.8);border:1px solid rgba(119,34,204,0.4);border-radius:5px;color:#ccbbff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;}
.ss-close-btn:hover{color:#ff6666;border-color:#ff6666;}
.ss-body{flex:1;overflow-y:auto;padding:10px 14px;}
.ss-body::-webkit-scrollbar{width:4px;}
.ss-body::-webkit-scrollbar-thumb{background:#aa7722;border-radius:2px;}
.ss-item-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;margin-bottom:6px;background:rgba(20,12,8,0.6);border:1px solid rgba(80,50,20,0.3);border-radius:6px;}
.ss-item-info{flex:1;display:flex;flex-direction:column;gap:2px;}
.ss-item-action{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ss-buy-btn{padding:5px 14px;background:linear-gradient(180deg,#ffaa44,#cc7722);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:bold;transition:0.2s;}
.ss-buy-btn:hover{background:linear-gradient(180deg,#ffbb55,#dd8833);box-shadow:0 0 6px rgba(255,170,68,0.4);}

/* v34: 移动端摆摊面板适配 */
body.mobile-active .stall-panel,body.mobile-active .stall-shop-panel{width:94vw!important;max-width:260px!important;}

/* ====== v37l: 摆摊专业版卡片 ====== */
.stall-pro-card{padding:8px 10px;margin-bottom:6px;background:rgba(20,12,8,0.7);border:1px solid rgba(80,50,20,0.3);border-radius:8px;font-size:12px;}
.spc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.spc-name-area{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.spc-quality-badge{padding:1px 6px;border-radius:3px;font-size:9px;font-weight:bold;letter-spacing:1px;}
.spc-name{font-weight:bold;font-size:13px;}
.spc-enh{padding:1px 5px;border-radius:3px;font-size:11px;font-weight:bold;}
.spc-slot{padding:1px 5px;background:rgba(100,80,40,0.3);border:1px solid rgba(150,120,60,0.3);border-radius:3px;font-size:9px;color:#aa9966;}
.spc-count{color:#aaa;font-size:11px;flex-shrink:0;}
.spc-price-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;flex-wrap:wrap;gap:4px;}
.spc-price-input-area{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.spc-price-display{color:#ffdd44;font-weight:bold;font-size:13px;}
.stall-stats-grid{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0;font-size:10px;}
.ss-stat-key{color:#6688aa;margin-right:1px;}
.ss-stat-val{color:#fff;margin-right:3px;}
.ss-stat-val-enh{color:#44ff44;margin-right:1px;}
.ss-stat-base{color:#555;font-size:9px;margin-right:4px;}
.ss-stat-key2{color:#9977aa;margin-right:1px;}
.ss-stat-val2{color:#ddccff;margin-right:4px;}
.stall-set-info{font-size:10px;color:#ffaa44;padding:2px 0;opacity:0.8;}
.stall-empty-hint{text-align:center;color:#666;padding:16px 8px;font-size:12px;}
.stall-add-title{font-size:12px;color:#ffaa44;font-weight:bold;margin-bottom:6px;padding-bottom:4px;border-bottom:1px dashed rgba(255,170,68,0.2);}
.stall-inv-card{display:flex;flex-direction:column;gap:2px;padding:4px 8px;background:rgba(15,8,25,0.6);border:1px solid rgba(80,60,120,0.3);border-radius:5px;cursor:pointer;font-size:11px;min-width:65px;transition:0.15s;}
.stall-inv-card:hover{background:rgba(35,20,55,0.8);border-color:rgba(255,170,68,0.5);transform:translateY(-1px);}
.sic-name-row{display:flex;align-items:center;gap:3px;}
.sic-stats-row{display:flex;align-items:center;gap:4px;font-size:9px;}
/* 买家商店专业卡片 */
.ss-pro-card{padding:10px;margin-bottom:8px;background:rgba(20,12,8,0.7);border:1px solid rgba(80,50,20,0.3);border-radius:8px;}
.sspc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.sspc-name-area{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.sspc-quality-badge{padding:1px 6px;border-radius:3px;font-size:9px;font-weight:bold;letter-spacing:1px;}
.sspc-name{font-weight:bold;font-size:13px;}
.sspc-enh{padding:1px 5px;border-radius:3px;font-size:11px;font-weight:bold;}
.sspc-slot{padding:1px 5px;background:rgba(100,80,40,0.3);border:1px solid rgba(150,120,60,0.3);border-radius:3px;font-size:9px;color:#aa9966;}
.sspc-count{color:#aaa;font-size:11px;flex-shrink:0;}
.sspc-desc{font-size:10px;color:#776;padding:3px 0;line-height:1.4;}
.sspc-buy-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;border-top:1px solid rgba(80,50,20,0.2);}
.sspc-price{font-weight:bold;font-size:14px;}
.ss-buy-disabled{opacity:0.5;cursor:not-allowed!important;background:#555!important;}
.ss-shop-info-bar{display:flex;justify-content:space-around;padding:8px 10px;margin-bottom:8px;background:rgba(30,20,10,0.6);border:1px solid rgba(255,170,68,0.2);border-radius:6px;}
.ss-info-item{display:flex;flex-direction:column;align-items:center;gap:2px;}
.ss-info-label{font-size:9px;color:#887755;letter-spacing:1px;}
.ss-info-val{font-size:13px;font-weight:bold;color:#fff;}

/* ====== v37l: 在线玩家面板 ====== */
.online-panel{position:fixed;top:50%;right:20px;transform:translateY(-50%);width:230px;max-width:80vw;max-height:55vh;background:rgba(12,8,25,0.95);border:2px solid rgba(68,255,68,0.3);border-radius:12px;z-index:345;display:none;flex-direction:column;overflow:hidden;box-shadow:0 0 24px rgba(68,255,68,0.15);}
.online-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.online-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(10,30,10,0.8);border-bottom:1px solid rgba(68,255,68,0.2);cursor:move;flex-shrink:0;user-select:none;-webkit-user-select:none;}
.online-header span:first-child{font-size:14px;color:#44ff44;font-weight:bold;letter-spacing:1px;}
.online-close-btn{width:18px;height:18px;background:rgba(30,15,60,0.8);border:1px solid rgba(68,255,68,0.3);border-radius:3px;color:#88ff88;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.online-close-btn:hover{color:#ff6666;border-color:#ff6666;}
.online-list{flex:1;overflow-y:auto;padding:6px 8px;}
.online-list::-webkit-scrollbar{width:4px;}
.online-list::-webkit-scrollbar-thumb{background:#4a8;border-radius:2px;}
.online-player-row{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:3px;background:rgba(15,25,15,0.5);border:1px solid rgba(68,255,68,0.1);border-radius:6px;cursor:pointer;transition:0.15s;}
.online-player-row:hover{background:rgba(25,45,25,0.7);border-color:rgba(68,255,68,0.3);}
.op-avatar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 4px currentColor;}
.op-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;}
.op-name{font-size:12px;color:#ddd;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.op-sub{font-size:9px;color:#776;}
.op-dist{font-size:11px;font-weight:bold;flex-shrink:0;}

/* ====== v37l: 附近玩家侧栏 ====== */
.nearby-sidebar{position:fixed;right:8px;bottom:80px;width:130px;max-height:160px;background:rgba(8,5,20,0.92);border:1px solid rgba(68,255,68,0.15);border-radius:8px;z-index:200;display:flex;flex-direction:column;overflow:hidden;}
.nearby-header{display:flex;align-items:center;gap:4px;padding:5px 8px;border-bottom:1px solid rgba(68,255,68,0.1);cursor:pointer;}
.nearby-list{flex:1;overflow-y:auto;padding:3px 5px;max-height:130px;}
.nearby-list::-webkit-scrollbar{width:3px;}
.nearby-list::-webkit-scrollbar-thumb{background:#4a6;border-radius:2px;}
.nearby-player-row{display:flex;align-items:center;gap:4px;padding:3px 5px;margin-bottom:2px;border-radius:4px;cursor:pointer;transition:0.1s;}
.nearby-player-row:hover{background:rgba(68,255,68,0.1);}
.np-name{font-size:10px;color:#ccd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.np-info{font-size:8px;color:#665;}
.np-dist{font-size:10px;font-weight:bold;flex-shrink:0;}
body.mobile-active .nearby-sidebar{width:120px;bottom:60px;}

/* ====== v34d2: 性能调试面板 ====== */
.debug-panel{position:fixed;top:50px;right:10px;width:260px;background:rgba(5,3,17,0.95);border:1px solid rgba(0,200,150,0.5);border-radius:8px;z-index:1100;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,0.3);font-family:'Consolas','Monaco','Courier New',monospace;}
.debug-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:rgba(0,200,150,0.12);border-bottom:1px solid rgba(0,200,150,0.3);cursor:move;font-size:13px;color:#00ffaa;font-weight:bold;}
.debug-close{background:none;border:none;color:#aaa;font-size:14px;cursor:pointer;padding:0 4px;}
.debug-close:hover{color:#ff4444;}
.debug-body{padding:6px 10px;max-height:420px;overflow-y:auto;font-size:11px;line-height:1.7;}
.debug-row{display:flex;justify-content:space-between;align-items:center;}
.debug-label{color:#88ccff;}
.debug-val{color:#ffdd44;font-weight:bold;}
.debug-title{color:#00ffaa;font-weight:bold;border-bottom:1px solid rgba(0,200,150,0.2);padding-bottom:1px;margin-top:2px;}
.debug-total{border-top:1px solid rgba(0,200,150,0.3);padding-top:2px;margin-top:1px;}
.debug-total .dbg-label{color:#ff8844;}
.debug-total .dbg-val{color:#ff8844;}
.debug-sep{height:4px;}
.debug-footer{padding:4px 10px;border-top:1px solid rgba(0,200,150,0.3);text-align:center;}
.debug-copy-btn{padding:4px 16px;background:rgba(0,200,150,0.2);border:1px solid rgba(0,200,150,0.4);border-radius:4px;color:#00ffaa;cursor:pointer;font-size:11px;font-family:inherit;transition:0.2s;}
.debug-copy-btn:hover{background:rgba(0,200,150,0.35);box-shadow:0 0 6px rgba(0,200,150,0.3);}
.debug-copy-btn:active{transform:scale(0.95);}

/* ========== v37h: 社交系统样式 ========== */

/* 聊天tab 5列 */
.chat-tabs{grid-template-columns:repeat(5,1fr)!important;}

/* 系统消息样式 */
.sys-msg{padding:3px 5px;margin:2px 0;background:rgba(255,180,50,0.08);border-left:2px solid rgba(255,180,50,0.5);border-radius:0 3px 3px 0;font-size:8px;line-height:1.4;}
.sys-msg-text{padding:2px 5px;margin:1px 0;color:rgba(255,200,100,0.85);font-size:8px;line-height:1.3;}
.sys-icon{color:#ffaa44;font-weight:bold;}
.sys-from{color:#88ccff;font-weight:bold;}
.sys-info{color:rgba(255,255,255,0.5);font-size:8px;}
.sys-btns{margin-top:4px;display:flex;gap:6px;}
.sys-btn{padding:2px 6px;border:none;border-radius:3px;cursor:pointer;font-size:8px;font-family:inherit;font-weight:bold;transition:0.2s;}
.sys-btn.accept{background:rgba(80,220,100,0.2);border:1px solid rgba(80,220,100,0.5);color:#50dd66;}
.sys-btn.accept:hover{background:rgba(80,220,100,0.35);box-shadow:0 0 8px rgba(80,220,100,0.3);}
.sys-btn.reject{background:rgba(255,100,100,0.15);border:1px solid rgba(255,100,100,0.4);color:#ff6666;}
.sys-btn.reject:hover{background:rgba(255,100,100,0.3);}
.sys-btn.block{background:rgba(120,120,120,0.15);border:1px solid rgba(120,120,120,0.4);color:#aaa;}
.sys-btn.block:hover{background:rgba(120,120,120,0.3);}

/* 玩家信息栏社交按钮容器 */
.player-info-social{position:fixed;top:120px;left:352px;width:320px;z-index:311;display:none;flex-wrap:wrap;gap:4px;padding:4px 6px;background:rgba(10,5,25,0.85);border:1px solid rgba(100,180,255,0.3);border-radius:0 0 8px 8px;border-top:none;}
.pi-social-btn{padding:4px 10px;border:1px solid;border-radius:4px;cursor:pointer;font-size:11px;font-family:inherit;font-weight:bold;transition:0.2s;white-space:nowrap;}
.pi-friend{background:rgba(100,200,255,0.15);border-color:rgba(100,200,255,0.4);color:#66ccff;}
.pi-friend:hover{background:rgba(100,200,255,0.3);box-shadow:0 0 6px rgba(100,200,255,0.3);}
.pi-friend-off{background:rgba(150,150,150,0.15);border-color:rgba(150,150,150,0.4);color:#999;}
.pi-friend-off:hover{background:rgba(150,150,150,0.3);}
.pi-team{background:rgba(255,200,50,0.15);border-color:rgba(255,200,50,0.4);color:#ffcc44;}
.pi-team:hover{background:rgba(255,200,50,0.3);box-shadow:0 0 6px rgba(255,200,50,0.3);}
.pi-kick{background:rgba(255,80,80,0.15);border-color:rgba(255,80,80,0.4);color:#ff5555;}
.pi-kick:hover{background:rgba(255,80,80,0.3);}
.pi-block{background:rgba(80,80,80,0.15);border-color:rgba(80,80,80,0.4);color:#888;}
.pi-block:hover{background:rgba(80,80,80,0.3);}
.pi-unblock{background:rgba(100,200,100,0.15);border-color:rgba(100,200,100,0.4);color:#66cc66;}
.pi-unblock:hover{background:rgba(100,200,100,0.3);}

/* 好友面板 */
.friend-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;max-width:92vw;max-height:60vh;background:rgba(8,4,22,0.95);border:1.5px solid rgba(100,200,255,0.5);border-radius:8px;z-index:340;display:none;flex-direction:column;overflow:hidden;box-shadow:0 0 6px rgba(100,200,255,0.15);}
.friend-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.friend-header{padding:5px 8px;background:rgba(100,200,255,0.1);border-bottom:1px solid rgba(100,200,255,0.3);display:flex;justify-content:space-between;align-items:center;font-weight:bold;color:#88ddff;cursor:move;font-size:10px;}
.friend-close-btn{background:none;border:none;color:#aaa;cursor:pointer;font-size:12px;}
.friend-close-btn:hover{color:#fff;}
.friend-tabs{display:flex;border-bottom:1px solid rgba(100,200,255,0.2);}
.friend-tab{flex:1;padding:4px;background:rgba(10,5,25,0.5);border:none;color:#888;cursor:pointer;font-size:9px;font-family:inherit;border-bottom:2px solid transparent;}
.friend-tab.active{background:rgba(100,200,255,0.1);border-bottom:2px solid #66ccff;color:#88ddff;}
.friend-list{flex:1;overflow-y:auto;padding:4px;min-height:120px;max-height:40vh;}
.friend-list::-webkit-scrollbar{width:4px;}
.friend-list::-webkit-scrollbar-thumb{background:rgba(100,200,255,0.3);border-radius:2px;}
.social-empty{text-align:center;padding:30px 10px;color:#666;font-size:13px;}
.friend-item{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;margin-bottom:2px;background:rgba(100,200,255,0.05);border-radius:4px;border:1px solid rgba(100,200,255,0.1);transition:0.2s;}
.friend-item:hover{background:rgba(100,200,255,0.1);border-color:rgba(100,200,255,0.3);}
.friend-item.blocked{opacity:0.6;}
.friend-info{display:flex;flex-direction:column;gap:1px;}
.friend-nick{font-size:10px;color:#ddd;font-weight:bold;}
.friend-detail{font-size:8px;color:#888;}
.friend-online{color:#50dd66;margin-left:4px;}
.friend-offline{color:#666;margin-left:4px;}
.friend-actions{display:flex;gap:2px;}
.friend-btn{padding:2px 5px;border:1px solid rgba(100,200,255,0.3);border-radius:2px;background:rgba(100,200,255,0.1);color:#88ddff;cursor:pointer;font-size:8px;font-family:inherit;transition:0.2s;}
.friend-btn:hover{background:rgba(100,200,255,0.25);}
.friend-btn.danger{border-color:rgba(255,100,100,0.3);background:rgba(255,100,100,0.1);color:#ff6666;}
.friend-btn.danger:hover{background:rgba(255,100,100,0.25);}

/* 队伍面板 */
.team-panel{position:fixed;top:50%;right:20px;transform:translateY(-50%);width:300px;max-width:90vw;max-height:70vh;background:rgba(8,4,22,0.95);border:2px solid rgba(255,200,50,0.5);border-radius:12px;z-index:340;display:none;flex-direction:column;overflow:hidden;box-shadow:0 0 24px rgba(255,200,50,0.2);}
.team-panel.show{display:flex;animation:fadeIn 0.3s ease;}
.team-panel-header{padding:10px 14px;background:rgba(255,200,50,0.1);border-bottom:1px solid rgba(255,200,50,0.3);display:flex;justify-content:space-between;align-items:center;font-weight:bold;color:#ffcc44;cursor:move;font-size:14px;}
.team-close-btn{background:none;border:none;color:#aaa;cursor:pointer;font-size:16px;}
.team-close-btn:hover{color:#fff;}
.team-body{flex:1;overflow-y:auto;padding:8px;}
.team-header-info{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;margin-bottom:8px;background:rgba(255,200,50,0.08);border-radius:6px;}
.team-leader-badge{padding:2px 8px;background:rgba(255,200,50,0.2);border:1px solid rgba(255,200,50,0.4);border-radius:4px;color:#ffcc44;font-size:11px;font-weight:bold;}
.team-count{color:#aaa;font-size:12px;}
.team-member-list{display:flex;flex-direction:column;gap:4px;}
.team-member{display:flex;align-items:center;gap:8px;padding:8px;background:rgba(255,255,255,0.05);border-radius:6px;border:1px solid rgba(255,255,255,0.08);transition:0.2s;}
.team-member.leader{border-color:rgba(255,200,50,0.3);background:rgba(255,200,50,0.05);}
.team-member:hover{background:rgba(255,255,255,0.08);}
.member-avatar{width:28px;height:28px;border-radius:50%;background:rgba(100,200,255,0.15);border:1px solid rgba(100,200,255,0.3);display:flex;align-items:center;justify-content:center;font-size:12px;color:#88ddff;font-weight:bold;flex-shrink:0;}
.team-member.leader .member-avatar{background:rgba(255,200,50,0.15);border-color:rgba(255,200,50,0.4);color:#ffcc44;}
.member-info{display:flex;flex-direction:column;gap:1px;flex:1;}
.member-nick{font-size:13px;color:#ddd;font-weight:bold;}
.member-detail{font-size:11px;color:#888;}
.member-online{color:#50dd66;}
.member-offline{color:#666;}
.team-btn{padding:4px 10px;border:1px solid;border-radius:4px;cursor:pointer;font-size:11px;font-family:inherit;font-weight:bold;transition:0.2s;}
.team-btn.kick{background:rgba(255,80,80,0.1);border-color:rgba(255,80,80,0.3);color:#ff5555;}
.team-btn.kick:hover{background:rgba(255,80,80,0.25);}
.team-btn.disband{width:100%;padding:6px;margin-top:8px;background:rgba(255,80,80,0.1);border:1px solid rgba(255,80,80,0.3);color:#ff5555;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;font-weight:bold;transition:0.2s;}
.team-btn.disband:hover{background:rgba(255,80,80,0.25);box-shadow:0 0 8px rgba(255,80,80,0.2);}
.team-btn.leave{width:100%;padding:6px;margin-top:8px;background:rgba(255,170,50,0.1);border:1px solid rgba(255,170,50,0.3);color:#ffaa44;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;font-weight:bold;transition:0.2s;}
.team-btn.leave:hover{background:rgba(255,170,50,0.25);}
.team-actions{padding:4px 0;}

/* 移动端适配 */
body.mobile-active .player-info-social{left:8px!important;width:calc(100vw - 16px)!important;max-width:340px!important;top:152px!important;}
body.mobile-active .friend-panel{width:94vw!important;max-width:260px!important;}
body.mobile-active .team-panel{right:3vw!important;left:3vw!important;width:auto!important;transform:translateY(-50%);}

/* ========== V37i: 版本更新提醒公告 ========== */
.update-notice-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.4s ease;}
.update-notice-overlay.show{opacity:1;}
.update-notice-modal{position:relative;width:460px;max-width:92vw;max-height:88vh;overflow-y:auto;background:linear-gradient(180deg,#0a0420 0%,#0e0530 40%,#100828 100%);border:2px solid #6a3ce0;border-radius:16px;box-shadow:0 0 60px #6a3ce055,0 0 120px #6a3ce030,0 20px 60px #000;transform:translateY(40px) scale(0.95);opacity:0;transition:all 0.5s cubic-bezier(0.18,0.89,0.32,1.28);}
.update-notice-overlay.show .update-notice-modal{transform:translateY(0) scale(1);opacity:1;}
.update-notice-glow{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:18px;background:linear-gradient(135deg,#6a3ce0,#b24bff,#3c8ee0,#6a3ce0);background-size:300% 300%;z-index:-1;animation:updateGlowShift 3s ease-in-out infinite;opacity:0.5;}
@keyframes updateGlowShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.update-notice-header{text-align:center;padding:32px 24px 16px;background:linear-gradient(180deg,#1a084880,transparent);}
.update-notice-badge{font-size:42px;margin-bottom:8px;animation:updateBadgeBounce 1.5s ease-in-out infinite;}
@keyframes updateBadgeBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.update-notice-title{font-size:24px;font-weight:bold;color:#c8a8ff;text-shadow:0 0 20px #8e44ff,0 2px 4px #000;letter-spacing:2px;margin-bottom:6px;}
.update-notice-subtitle{font-size:13px;color:#8888aa;letter-spacing:1px;}
.update-notice-version-row{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 24px;}
.update-ver-box{text-align:center;padding:12px 24px;border-radius:10px;min-width:110px;}
.update-ver-box.old{background:rgba(80,80,100,0.2);border:1px solid #444466;}
.update-ver-box.new{background:rgba(106,60,224,0.15);border:1px solid #6a3ce0;box-shadow:0 0 16px #6a3ce044;}
.update-ver-label{font-size:11px;color:#888899;margin-bottom:4px;letter-spacing:1px;}
.update-ver-num{font-size:18px;font-weight:bold;font-family:Consolas,monospace;}
.update-ver-box.old .update-ver-num{color:#888;}
.update-ver-box.new .update-ver-num{color:#b24bff;text-shadow:0 0 12px #8e44ff;}
.update-ver-arrow{font-size:24px;color:#6a3ce0;animation:updateArrowPulse 1.2s ease-in-out infinite;}
@keyframes updateArrowPulse{0%,100%{opacity:0.5;transform:translateX(0);}50%{opacity:1;transform:translateX(6px);}}
.update-notice-body{padding:8px 24px 20px;}
.update-notice-section-title{font-size:14px;color:#aa88ee;font-weight:bold;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #333355;letter-spacing:1px;}
.update-features-list{display:flex;flex-direction:column;gap:10px;}
.update-feature-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:rgba(106,60,224,0.06);border-radius:8px;border:1px solid rgba(106,60,224,0.15);transition:background 0.3s;}
.update-feature-item:hover{background:rgba(106,60,224,0.12);border-color:rgba(106,60,224,0.3);}
.update-feature-icon{font-size:20px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(106,60,224,0.15);border-radius:8px;}
.update-feature-text{flex:1;min-width:0;}
.update-feature-title{font-size:13px;font-weight:bold;color:#ccbbee;margin-bottom:2px;}
.update-feature-desc{font-size:12px;color:#8899bb;line-height:1.5;}
.update-notice-footer{padding:16px 24px 24px;text-align:center;border-top:1px solid #222244;}
.update-notice-time{font-size:11px;color:#666677;margin-bottom:12px;letter-spacing:1px;}
.update-notice-btn{display:inline-block;padding:12px 48px;font-size:16px;font-weight:bold;color:#fff;background:linear-gradient(135deg,#6a3ce0,#b24bff);border:none;border-radius:10px;cursor:pointer;letter-spacing:3px;box-shadow:0 4px 20px #6a3ce066,0 2px 8px #000;transition:all 0.3s;text-shadow:0 1px 2px #000;}
.update-notice-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px #6a3ce088,0 4px 12px #000;}
.update-notice-btn:active{transform:translateY(0);}
.update-notice-btn:disabled{opacity:0.7;cursor:wait;transform:none;}
/* v37l: 强制更新横幅 */
.update-force-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;background:linear-gradient(90deg,#ff660033,#ff444422,#ff660033);border-top:1px solid #ff444444;border-bottom:1px solid #ff444444;}
.update-force-icon{font-size:20px;}
.update-force-text{font-size:13px;color:#ff8866;font-weight:bold;letter-spacing:1px;}
.update-countdown-row{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;background:rgba(255,68,68,0.08);}
.update-countdown-label{font-size:13px;color:#aa8899;}
.update-countdown-num{font-size:28px;font-weight:bold;color:#ffaa44;text-shadow:0 0 10px #ff660066;min-width:40px;text-align:center;}
.update-countdown-unit{font-size:13px;color:#aa8899;}
@keyframes updatePulse{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
/* 移动端适配 */
@media(max-width:768px){
    .update-notice-modal{width:94vw;max-height:90vh;}
    .update-notice-title{font-size:20px;}
    .update-notice-version-row{gap:12px;}
    .update-ver-box{min-width:90px;padding:10px 16px;}
    .update-ver-num{font-size:15px;}
    .update-feature-item{padding:8px 10px;}
    .update-feature-title{font-size:12px;}
    .update-feature-desc{font-size:11px;}
    .update-notice-btn{padding:12px 36px;font-size:15px;}
}
/* V37i: 组队收益说明 */
.team-bonus-info{margin-top:10px;padding:10px 12px;background:rgba(255,200,0,0.06);border:1px solid rgba(255,200,0,0.2);border-radius:8px;}
.tbi-title{font-size:12px;font-weight:bold;color:#ffcc44;margin-bottom:6px;letter-spacing:1px;}
.tbi-row{font-size:11px;color:#aabbcc;line-height:1.8;display:flex;align-items:center;gap:6px;}
.tbi-icon{display:inline-block;font-size:9px;font-weight:bold;color:#ffcc44;background:rgba(255,200,0,0.12);padding:1px 5px;border-radius:3px;min-width:24px;text-align:center;}
/* V37i: 主页版本更新日志时间线 */
.changelog-timeline{max-width:900px;margin:0 auto;position:relative;padding-left:28px;}
.changelog-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#6a3ce0,#3c8ee0,transparent);}
.changelog-item{position:relative;margin-bottom:28px;}
.cl-dot{position:absolute;left:-28px;top:4px;width:14px;height:14px;border-radius:50%;background:#3a2060;border:2px solid #555;}
.cl-dot-latest{background:#6a3ce0;border-color:#b24bff;box-shadow:0 0 12px #6a3ce088;animation:clDotPulse 2s ease-in-out infinite;}
@keyframes clDotPulse{0%,100%{box-shadow:0 0 8px #6a3ce066;}50%{box-shadow:0 0 20px #6a3ce0aa;}}
.cl-content{background:rgba(10,5,25,0.6);border:1px solid #222244;border-radius:10px;padding:16px 20px;}
.cl-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap;}
.cl-version{font-size:16px;font-weight:bold;color:#c8a8ff;font-family:Consolas,monospace;}
.cl-badge{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:bold;letter-spacing:1px;}
.cl-badge-latest{background:rgba(106,60,224,0.2);color:#b24bff;border:1px solid #6a3ce0;}
.cl-badge:not(.cl-badge-latest){background:rgba(80,80,100,0.15);color:#888;border:1px solid #444;}
.cl-date{font-size:11px;color:#666;margin-left:auto;}
.cl-title{font-size:15px;color:#ddd;margin-bottom:10px;}
.cl-features{display:flex;flex-direction:column;gap:8px;}
.cl-feature{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:rgba(106,60,224,0.04);border-radius:6px;border:1px solid rgba(106,60,224,0.1);}
.cl-feature:hover{background:rgba(106,60,224,0.08);}
.cl-feature-icon{font-size:16px;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(106,60,224,0.1);border-radius:6px;}
.cl-feature-body{flex:1;min-width:0;}
.cl-feature-title{font-size:12px;font-weight:bold;color:#ccbbee;}
.cl-feature-desc{font-size:11px;color:#8899bb;line-height:1.5;margin-top:2px;}

/* ====== v37j: 系统消息样式 ====== */
.msg-system{margin-bottom:4px;padding:4px 8px;line-height:1.5;word-break:break-all;border-left:2px solid rgba(136,170,204,0.4);background:rgba(136,170,204,0.04);border-radius:0 4px 4px 0;font-size:inherit;}
.msg-system .sys-time{font-size:0.85em;opacity:0.7;}
.msg-system .sys-label{font-size:0.9em;}
.msg-system .sys-text{font-size:inherit;}
.sys-time{font-size:7px;color:#556677;margin-right:4px;}
.sys-icon{font-size:9px;margin-right:3px;font-weight:bold;}
.sys-label{font-size:8px;font-weight:bold;margin-right:4px;}
.sys-text{font-size:8px;color:#aabbcc;}

/* 系统频道未读计数徽章 */
.sys-unread{display:none;min-width:12px;height:12px;line-height:12px;text-align:center;background:#ff4444;color:#fff;font-size:7px;border-radius:8px;padding:0 4px;margin-left:4px;vertical-align:middle;font-weight:bold;}

/* ====== v37n: 登录更新公告弹窗 ====== */
.changelog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.75);z-index:99998;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease;}
/* v60794: 强制隐藏changelog overlay，防止登录后紫色横条 */
.changelog-overlay{display:none!important;}
.changelog-overlay.show{opacity:1;}
.changelog-modal{position:relative;width:440px;max-width:94vw;max-height:88vh;overflow-y:auto;background:linear-gradient(180deg,rgba(15,8,35,0.98),rgba(8,4,22,0.98));border:2px solid rgba(119,34,204,0.4);border-radius:16px;box-shadow:0 0 40px rgba(119,34,204,0.25),0 8px 32px rgba(0,0,0,0.6);padding:0;transform:scale(0.85) translateY(20px);transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);}
.changelog-overlay.show .changelog-modal{transform:scale(1) translateY(0);}
.changelog-modal::-webkit-scrollbar{width:5px;}
.changelog-modal::-webkit-scrollbar-thumb{background:rgba(119,34,204,0.4);border-radius:3px;}
.changelog-glow{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,rgba(119,34,204,0.15),rgba(68,170,255,0.1),rgba(119,34,204,0.15));border-radius:16px;z-index:-1;animation:clGlowShift 4s ease-in-out infinite;}
@keyframes clGlowShift{0%,100%{opacity:0.5;}50%{opacity:1;}}
.changelog-header{text-align:center;padding:28px 20px 16px;}
.cl-badge{font-size:36px;margin-bottom:8px;animation:clBounce 2s ease-in-out infinite;}
@keyframes clBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.cl-version-tag{display:inline-block;padding:2px 14px;background:linear-gradient(135deg,#7722cc,#44aaff);color:#fff;font-size:12px;font-weight:bold;border-radius:12px;letter-spacing:1px;margin-bottom:8px;box-shadow:0 2px 8px rgba(119,34,204,0.4);}
.cl-title{font-size:20px;font-weight:bold;color:#e8d8ff;text-shadow:0 0 12px rgba(119,34,204,0.5);margin-bottom:4px;letter-spacing:1px;}
.cl-date{font-size:11px;color:#667788;}
.cl-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(119,34,204,0.4),transparent);margin:0 24px;}
.cl-section-label{padding:12px 24px 4px;font-size:13px;color:#8899bb;font-weight:bold;}
.cl-features{padding:4px 20px 8px;}
.cl-feature-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin-bottom:6px;background:rgba(20,12,40,0.6);border:1px solid rgba(80,50,130,0.25);border-radius:8px;opacity:0;transform:translateX(-12px);animation:clSlideIn 0.4s ease forwards;}
@keyframes clSlideIn{to{opacity:1;transform:translateX(0);}}
.cl-feature-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;background:rgba(119,34,204,0.12);border-radius:8px;border:1px solid rgba(119,34,204,0.2);}
.cl-feature-text{flex:1;min-width:0;}
.cl-feature-title{font-size:13px;font-weight:bold;color:#bbccff;margin-bottom:2px;}
.cl-feature-desc{font-size:11px;color:#8899aa;line-height:1.4;}
.cl-footer{padding:12px 24px 24px;text-align:center;}
.cl-enter-btn{padding:12px 40px;background:linear-gradient(135deg,#7722cc,#5533aa);border:none;border-radius:24px;color:#fff;font-size:14px;font-weight:bold;cursor:pointer;letter-spacing:2px;box-shadow:0 4px 16px rgba(119,34,204,0.4);transition:all 0.25s ease;font-family:inherit;}
.cl-enter-btn:hover{background:linear-gradient(135deg,#9933ee,#6644cc);transform:translateY(-2px);box-shadow:0 6px 24px rgba(119,34,204,0.5);}
.cl-enter-btn:active{transform:translateY(0);}
/* 移动端适配 */
body.mobile-active .changelog-modal{width:94vw!important;}
/* v37n: 玩家详情面板摆摊列表 */
.pd-stall-list{display:flex;flex-direction:column;gap:3px;margin:6px 0;}
.pd-stall-row{display:flex;align-items:center;gap:6px;padding:5px 8px;background:rgba(20,12,40,0.5);border-radius:5px;font-size:11px;}
/* v60772: 角色管理面板 */
.char-list-header{display:flex;justify-content:space-between;align-items:center;padding:10px 0 8px;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:10px;}
.char-list-title{font-size:15px;color:#ffd700;font-weight:bold;}
.char-list-count{font-size:11px;color:#888;}
.char-list-grid{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding-right:4px;}
.char-list-grid::-webkit-scrollbar{width:4px;}
.char-list-grid::-webkit-scrollbar-thumb{background:rgba(255,215,0,0.2);border-radius:2px;}
.char-card{display:flex;align-items:center;gap:10px;padding:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;transition:all 0.2s;}
.char-card:hover{background:rgba(255,215,0,0.06);border-color:rgba(255,215,0,0.2);}
.char-card-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:bold;color:#fff;flex-shrink:0;box-shadow:0 0 8px rgba(0,0,0,0.3);}
.char-card-info{flex:1;min-width:0;}
.char-card-name{font-size:14px;color:#fff;font-weight:bold;}
.char-card-sub{font-size:11px;color:#888;margin-top:2px;line-height:1.6;}
.char-card-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;margin-right:4px;}
.char-card-badge-lv{background:rgba(255,215,0,0.15);color:#ffd700;}
.char-card-badge-new{background:rgba(68,255,68,0.15);color:#44ff44;}
.char-card-actions{display:flex;gap:5px;flex-shrink:0;}
.char-act-btn{padding:5px 9px;border:none;border-radius:6px;font-size:11px;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.char-act-enter{background:linear-gradient(135deg,#ff8800,#ff4400);color:#fff;}
.char-act-enter:hover{box-shadow:0 0 8px rgba(255,136,0,0.4);}
.char-act-export{background:rgba(68,136,255,0.15);color:#88aaff;border:1px solid rgba(68,136,255,0.25);}
.char-act-export:hover{background:rgba(68,136,255,0.3);}
.char-act-delete{background:rgba(255,68,68,0.12);color:#ff6666;border:1px solid rgba(255,68,68,0.2);}
.char-act-delete:hover{background:rgba(255,68,68,0.3);}
.char-empty-hint{text-align:center;padding:36px 20px;color:#666;font-size:13px;line-height:2;}
.char-list-bottom{padding-top:10px;border-top:1px solid rgba(255,255,255,0.08);margin-top:10px;}
.char-import-btn{width:100%;padding:9px;background:rgba(68,255,68,0.1);color:#44ff44;border:1px solid rgba(68,255,68,0.2);border-radius:8px;font-size:13px;cursor:pointer;transition:all 0.2s;}
.char-import-btn:hover{background:rgba(68,255,68,0.2);}
@media(max-width:480px){.char-card-actions{flex-direction:column;gap:3px;}.char-act-btn{padding:3px 8px;font-size:10px;}}
/* v60777: 摇人面板 */
.summon-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;max-width:92vw;max-height:85vh;overflow-y:auto;background:rgba(18,14,32,0.97);border:2px solid #e84118;border-radius:12px;z-index:335;box-shadow:0 8px 40px rgba(232,65,24,0.4);display:none;flex-direction:column;}
.summon-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(232,65,24,0.3);cursor:move;font-size:15px;color:#ff6b35;font-weight:bold;}
.summon-close-btn{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:0 4px;}
.summon-close-btn:hover{color:#ff6464;}
.summon-body{padding:14px 16px;}
.summon-myinfo{background:rgba(232,65,24,0.08);border:1px solid rgba(232,65,24,0.2);border-radius:8px;padding:10px 12px;margin-bottom:12px;}
.summon-mi-row{display:flex;align-items:center;gap:10px;}
.summon-mi-row.sub{margin-top:6px;gap:16px;}
.summon-mi-nick{font-size:16px;font-weight:bold;color:#fff;}
.summon-mi-lv{background:rgba(255,200,0,0.15);color:#ffc800;padding:2px 8px;border-radius:4px;font-size:12px;}
.summon-mi-power{color:#ffaa44;font-size:12px;margin-left:auto;}
.summon-mi-map{color:#999;font-size:11px;}
.summon-mi-coord{color:#666;font-size:11px;margin-left:auto;}
.summon-desc{color:#aaa;font-size:12px;margin:0 0 10px 0;line-height:1.6;}
.summon-link-row{display:flex;gap:8px;margin-bottom:10px;}
.summon-link-input{flex:1;min-width:0;background:rgba(0,0,0,0.4);border:1px solid rgba(232,65,24,0.35);border-radius:6px;padding:8px 10px;color:#ccc;font-size:11px;outline:none;font-family:monospace;}
.summon-link-input:focus{border-color:#e84118;}
.summon-gen-btn{background:#e84118;border:none;border-radius:6px;padding:8px 16px;color:#fff;font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.summon-gen-btn:hover{background:#c73e15;}
.summon-actions{display:flex;gap:8px;margin-bottom:8px;}
.summon-action-btn{flex:1;background:rgba(232,65,24,0.15);border:1px solid rgba(232,65,24,0.35);border-radius:6px;padding:8px;color:#ff6b35;font-size:13px;cursor:pointer;transition:0.2s;}
.summon-action-btn:hover{background:rgba(232,65,24,0.3);}
.summon-info{text-align:center;font-size:12px;min-height:16px;margin-bottom:10px;}
.summon-feedback{border-top:1px solid rgba(232,65,24,0.2);padding-top:10px;margin-top:4px;}
.summon-feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.summon-feedback-header span{color:#ff6b35;font-size:13px;font-weight:bold;}
.summon-refresh-btn{background:rgba(232,65,24,0.15);border:1px solid rgba(232,65,24,0.3);border-radius:4px;padding:3px 10px;color:#ff6b35;font-size:11px;cursor:pointer;}
.summon-refresh-btn:hover{background:rgba(232,65,24,0.3);}
.summon-friend-list{max-height:200px;overflow-y:auto;}
.summon-empty{text-align:center;padding:20px 10px;color:#555;font-size:12px;line-height:2;}
.summon-friend-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;background:rgba(255,255,255,0.03);margin-bottom:6px;transition:0.2s;}
.summon-friend-item:hover{background:rgba(255,255,255,0.06);}
.sf-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;font-weight:bold;flex-shrink:0;}
.sf-info{flex:1;min-width:0;}
.sf-name{font-size:13px;color:#ddd;font-weight:bold;}
.sf-lv{color:#ffc800;font-size:11px;font-weight:normal;}
.sf-sub{font-size:11px;color:#888;margin-top:2px;}
.sf-status{flex-shrink:0;}
.sf-online{background:rgba(68,221,68,0.15);color:#44dd44;padding:2px 8px;border-radius:4px;font-size:11px;}
body.mobile-active .summon-panel{width:94vw!important;max-width:420px!important;}
/* ====== v60809: 镇劫甲商店 ====== */
.shop-icon-btn{
    position:fixed;top:78px;right:210px;
    width:34px;height:34px;border-radius:8px;
    padding:0;box-sizing:border-box;overflow:hidden;line-height:1;
    background:linear-gradient(135deg,rgba(30,25,55,0.92),rgba(15,15,30,0.92));
    border:1.5px solid rgba(136,204,255,0.45);
    color:#88ccff;font-size:16px;cursor:pointer;z-index:200;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 0 3px rgba(136,204,255,0.15);
}
.shop-icon-btn::after{
    content:'';position:absolute;top:-1px;right:-1px;
    width:5px;height:5px;border-radius:50%;
    background:#88ccff;
}
.shop-icon-btn:hover{
    background:linear-gradient(135deg,rgba(50,40,80,0.95),rgba(25,25,45,0.95));
    border-color:rgba(136,204,255,0.8);
    box-shadow:0 0 4px rgba(136,204,255,0.3);
}
.shop-icon-btn:active{transform:translateY(0);}

.shop-panel{
    position:fixed;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:380px;height:280px;
    background:rgba(10,10,18,0.97);
    border:1px solid rgba(136,204,255,0.25);
    border-radius:8px;z-index:210;
    flex-direction:column;
    box-shadow:0 3px 6px rgba(0,0,0,0.5);
    overflow:hidden;
}
.shop-header{
    display:flex;justify-content:space-between;align-items:center;
    padding:3px 10px;
    background:linear-gradient(180deg,rgba(28,26,48,0.95),rgba(20,18,36,0.9));
    border-bottom:1px solid rgba(136,204,255,0.12);
    cursor:move;flex-shrink:0;
}
.shop-title{color:#88ccff;font-size:8px;font-weight:bold;letter-spacing:0.5px;}
.shop-close-btn{background:none;border:none;color:#ff6644;font-size:10px;cursor:pointer;padding:1px 5px;border-radius:3px;}
.shop-close-btn:hover{color:#ff8866;background:rgba(255,100,68,0.1);}
.shop-body{overflow-y:auto;flex:1;padding:3px 5px;display:flex;flex-direction:column;}

/* 顶部Tab栏 */
.shop-tab-bar{
    display:flex;align-items:center;gap:2px;
    padding:2px 0 3px 0;flex-shrink:0;
    border-bottom:1px solid rgba(136,204,255,0.08);margin-bottom:3px;
}
.shop-tab{
    font-size:7px;padding:2px 10px;border-radius:3px;
    cursor:pointer;color:#888;background:rgba(22,22,35,0.6);
    border:1px solid transparent;transition:all 0.12s;
}
.shop-tab:hover{color:#bbb;background:rgba(30,30,50,0.8);}
.shop-tab-active{color:#88ccff!important;background:rgba(30,35,55,0.95)!important;border-color:rgba(136,204,255,0.3)!important;}
.shop-balance-inline{
    margin-left:auto;display:flex;align-items:center;gap:2px;
    padding:2px 8px;background:rgba(20,30,45,0.5);border-radius:3px;
}
.shop-xj-icon{color:#88ccff;font-size:8px;}
.shop-xj-val{color:#88ccff;font-size:8px;font-weight:bold;}

/* 左右布局 */
.shop-content-wrap{display:flex;gap:4px;flex:1;min-height:0;}
.shop-tier-bar{display:flex;flex-direction:column;gap:2px;width:100px;flex-shrink:0;}
.shop-tier-tab{
    padding:3px 4px;text-align:center;
    background:rgba(22,22,35,0.8);
    border:1px solid transparent;border-radius:4px;
    cursor:pointer;transition:all 0.12s;
}
.shop-tier-tab:hover{background:rgba(35,35,55,0.9);}
.shop-tier-active{background:rgba(30,30,50,0.95)!important;}
.shop-tier-name{font-size:7px;font-weight:bold;margin-bottom:0;}
.shop-tier-sub{font-size:6px;color:#777;}

.shop-right{flex:1;display:flex;flex-direction:column;min-width:0;}

/* lore */
.shop-tier-lore{
    font-size:7px;color:#999;
    padding:2px 4px;margin-bottom:3px;
    background:rgba(18,18,28,0.5);border-radius:2px;
    line-height:1.3;flex-shrink:0;
}

/* 装备网格 5列 */
.shop-item-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:3px;flex:1;align-content:start;
}
.shop-item-card{
    background:rgba(18,18,30,0.85);
    border-radius:3px;padding:2px 3px;
    transition:all 0.12s;display:flex;flex-direction:column;gap:1px;
}
.shop-item-card:hover{background:rgba(28,28,45,0.95);}
.shop-item-disabled{opacity:0.4;}
.shop-card-header{display:flex;flex-direction:column;gap:0;}
.shop-card-quality{font-size:6px;padding:0 2px;border-radius:1px;white-space:nowrap;align-self:flex-start;}
.shop-card-name{font-size:7px;font-weight:bold;line-height:1.1;}
.shop-card-slot{font-size:6px;color:#666;}
.shop-card-stats{display:flex;flex-wrap:wrap;gap:1px;}
.shop-stat{font-size:6px;color:#88ff88;background:rgba(0,40,0,0.25);padding:0 2px;border-radius:1px;}
.shop-card-buy{display:flex;justify-content:space-between;align-items:center;margin-top:auto;}
.shop-card-price{font-size:7px;font-weight:bold;}
.shop-buy-btn{
    font-size:6px;padding:1px 4px;
    background:rgba(60,100,160,0.55);
    border:1px solid rgba(100,150,210,0.4);
    color:#aaccff;border-radius:2px;cursor:pointer;
}
.shop-buy-btn:hover{background:rgba(80,120,180,0.75);}
.shop-buy-disabled{background:rgba(50,30,30,0.4)!important;border-color:rgba(100,60,60,0.2)!important;color:#886666!important;cursor:not-allowed!important;}

/* 套装总价栏 */
.shop-total-bar{
    display:flex;justify-content:space-between;align-items:center;
    padding:2px 5px;margin-top:3px;
    background:rgba(22,22,38,0.7);border-radius:3px;
    font-size:8px;color:#bbb;flex-shrink:0;
}
.shop-buy-all-btn{
    font-size:7px;padding:2px 8px;
    background:rgba(80,140,60,0.55);
    border:1px solid rgba(120,180,100,0.4);
    color:#aaffaa;border-radius:3px;cursor:pointer;
}
.shop-buy-all-btn:hover{background:rgba(90,150,70,0.7);}

/* 材料页 */
.shop-material-wrap{display:flex;flex-direction:column;gap:4px;padding:2px 0;}
.shop-material-card{
    display:flex;align-items:center;gap:6px;
    background:rgba(18,18,30,0.85);
    border-radius:4px;padding:5px 8px;
    transition:all 0.12s;
}
.shop-material-card:hover{background:rgba(28,28,45,0.95);}
.shop-mat-icon{font-size:14px;flex-shrink:0;}
.shop-mat-info{flex:1;min-width:0;}
.shop-mat-name{font-size:8px;font-weight:bold;margin-bottom:1px;}
.shop-mat-desc{font-size:7px;color:#888;line-height:1.2;}
.shop-mat-have{font-size:7px;color:#666;margin-top:1px;}
.shop-mat-buy{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;}
.shop-mat-price{font-size:7px;font-weight:bold;}
.shop-mat-btns{display:flex;gap:2px;}
.shop-material-tip{
    font-size:7px;color:#666;text-align:center;padding:4px 0;
    border-top:1px solid rgba(136,204,255,0.06);margin-top:2px;
}

@media(max-width:600px){
    .shop-panel{width:96vw;height:80vh;transform:none;left:2vw;top:10vh;}
    .shop-item-grid{grid-template-columns:repeat(2,1fr);}
    .shop-tier-bar{width:78px;}
    .shop-icon-btn{right:115px;top:56px;width:28px;height:28px;font-size:13px;}
}
body.mobile-active .shop-icon-btn{right:115px;top:56px;width:28px;height:28px;font-size:13px;}
body.mobile-active .shop-panel{width:96vw;height:80vh;transform:none;left:2vw;top:10vh;}
body.mobile-active .shop-item-grid{grid-template-columns:repeat(2,1fr);}
body.mobile-active .shop-tier-bar{width:78px;}
