/* premium buttons (art-deliver/ui_buttons, programmatic, own work) */
#btn-char,#btn-bag,#btn-skill,#btn-talk,#btn-set,#btn-map{border:0!important;padding:0;color:transparent!important;font-size:0!important;text-shadow:none!important;background:center/100% 100% no-repeat!important;box-shadow:none!important;border-radius:0!important}
#btn-char{background-image:-webkit-image-set(url(../assets/ui/buttons/1x/btn_char.dab7e71f26.png) 1x,url(../assets/ui/buttons/2x/btn_char.5bae6d8874.png) 2x)!important;background-image:image-set(url(../assets/ui/buttons/1x/btn_char.dab7e71f26.png) 1x,url(../assets/ui/buttons/2x/btn_char.5bae6d8874.png) 2x)!important}
#btn-char:active{background-image:url(../assets/ui/buttons/2x/btn_char_pressed.1a4fc812a5.png)!important}
#btn-bag{background-image:-webkit-image-set(url(../assets/ui/buttons/1x/btn_bag.eb46e0f57d.png) 1x,url(../assets/ui/buttons/2x/btn_bag.ee46da956a.png) 2x)!important;background-image:image-set(url(../assets/ui/buttons/1x/btn_bag.eb46e0f57d.png) 1x,url(../assets/ui/buttons/2x/btn_bag.ee46da956a.png) 2x)!important}
#btn-bag:active{background-image:url(../assets/ui/buttons/2x/btn_bag_pressed.a56fb113bd.png)!important}
#btn-skill{background-image:-webkit-image-set(url(../assets/ui/buttons/1x/btn_skill.9a0bdd86de.png) 1x,url(../assets/ui/buttons/2x/btn_skill.91c270f22e.png) 2x)!important;background-image:image-set(url(../assets/ui/buttons/1x/btn_skill.9a0bdd86de.png) 1x,url(../assets/ui/buttons/2x/btn_skill.91c270f22e.png) 2x)!important}
#btn-skill:active{background-image:url(../assets/ui/buttons/2x/btn_skill_pressed.bfd022dd81.png)!important}
#btn-talk{background-image:-webkit-image-set(url(../assets/ui/buttons/1x/btn_talk.0bcbcec733.png) 1x,url(../assets/ui/buttons/2x/btn_talk.7b4c077d46.png) 2x)!important;background-image:image-set(url(../assets/ui/buttons/1x/btn_talk.0bcbcec733.png) 1x,url(../assets/ui/buttons/2x/btn_talk.7b4c077d46.png) 2x)!important}
#btn-talk:active{background-image:url(../assets/ui/buttons/2x/btn_talk_pressed.4a1f410eb7.png)!important}
#btn-set{background-image:-webkit-image-set(url(../assets/ui/buttons/1x/btn_set.8863d40890.png) 1x,url(../assets/ui/buttons/2x/btn_set.f948716984.png) 2x)!important;background-image:image-set(url(../assets/ui/buttons/1x/btn_set.8863d40890.png) 1x,url(../assets/ui/buttons/2x/btn_set.f948716984.png) 2x)!important}
#btn-set:active{background-image:url(../assets/ui/buttons/2x/btn_set_pressed.5065cce022.png)!important}
#btn-map{background-image:-webkit-image-set(url(../assets/ui/buttons/1x/btn_map.b274623fbe.png) 1x,url(../assets/ui/buttons/2x/btn_map.d3825524db.png) 2x)!important;background-image:image-set(url(../assets/ui/buttons/1x/btn_map.b274623fbe.png) 1x,url(../assets/ui/buttons/2x/btn_map.d3825524db.png) 2x)!important}
#btn-map:active{background-image:url(../assets/ui/buttons/2x/btn_map_pressed.ad6dc6c638.png)!important}
.has-dot::after{content:'';position:absolute;right:-3px;top:-3px;width:14px;height:14px;background:url(../assets/ui/buttons/2x/reddot.fa3bbd4a8f.png) 0 0/100% 100%;pointer-events:none}
#btn-attack{border:0!important;border-radius:50%!important;color:transparent!important;font-size:0!important;background:url(../assets/ui/buttons/2x/atk.794e467a91.png) center/100% 100% no-repeat!important;box-shadow:0 3px 10px rgba(0,0,0,.6)!important}
#btn-attack:active{background-image:url(../assets/ui/buttons/2x/atk_pressed.637fdc2fe4.png)!important}
.sr-btn{background:none!important;border:0!important;padding:0!important;overflow:visible!important}
.sr-btn .ic{position:absolute;inset:9px;border-radius:50%;background:var(--icon,radial-gradient(#8a3a14,#2a0a04)) var(--sx,0) var(--sy,0)/800% 400% no-repeat;z-index:1}
.sr-btn .cd{position:absolute;inset:9px!important;border-radius:50%;z-index:2;background:url(../assets/ui/buttons/2x/cd_mask.4503927528.png) 0 0/100% 100%;-webkit-mask:var(--m);mask:var(--m)}
.sr-btn .fr{position:absolute;inset:0;background:url(../assets/ui/buttons/2x/skill_frame.035c6b7033.png) 0 0/100% 100%;pointer-events:none;z-index:3}
.sr-btn .mp{position:absolute;right:-3px!important;bottom:-3px!important;width:22px;height:13px;padding:0!important;border-radius:0!important;background:url(../assets/ui/buttons/2x/mp_badge.01efbdddee.png) 0 0/100% 100%!important;font:700 10px/13px sans-serif;text-align:center;color:#9cc8ff;z-index:4}
.sr-btn .nm{display:none}
.sr-btn .fl{position:absolute;inset:0;background:url(../assets/ui/buttons/2x/cd_ready_flash.23a1e771ca.png) 0 0/100% 100%;opacity:0;z-index:3;pointer-events:none}
.sr-btn .fl.go{animation:srfl .3s}@keyframes srfl{50%{opacity:1}}
.sr-btn.nomp .ic{filter:grayscale(1) brightness(.6)}
#btn-map{width:28px!important;height:28px!important}
.sk-ic{display:inline-block;width:32px;height:32px;border-radius:50%;vertical-align:middle;margin-right:6px;background:var(--icon) var(--sx) var(--sy)/800% 400% no-repeat}
/* 关闭按钮：统一 ≥44px 点击区域（视觉 32px，皮肤 btn_close） */
.bag-close{min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important;background-size:32px 32px!important;background-position:center!important;padding:0!important;flex:0 0 44px;cursor:pointer;touch-action:manipulation}
.bag-close:active{filter:brightness(1.3)}
.cq-x{position:absolute!important;top:2px;right:2px;z-index:5}
.item-dlg.panel{position:relative}
/* v1.3 背包分页 / 仓库左右分栏 */
#bag-panel .bag-grid,#char-panel .bag-grid,.warehouse-panel .bag-grid{grid-template-columns:repeat(5,1fr)!important;gap:4px!important}
.bag-pages{display:flex;gap:4px;justify-content:center;margin:4px 0}
.bp-tab{min-width:44px;height:30px;border:1px solid #8a6a30;background:linear-gradient(#3a1a10,#160604);color:#d8c080;border-radius:4px;font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.bp-tab small{font-size:9px;opacity:.7}.bp-tab.on{background:linear-gradient(#a8742a,#5a3410);color:#fff3c0;border-color:#f0d060}
.bag-hbtn{height:32px;min-width:44px;padding:0 10px;margin-left:6px;border:1px solid #c9a24a;border-radius:5px;background:linear-gradient(#7a2a14,#3a0c06);color:#f8e0a0;font-size:13px;font-weight:700}
.bag-header{display:flex;align-items:center}.bag-header>span{flex:1}
.warehouse-panel{width:min(820px,calc(100vw - 24px))!important;max-width:none!important}
.wh-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wh-col{border:1px dashed transparent;border-radius:6px;padding:2px}.wh-col.drop-hi{border-color:#f0d060;background:rgba(240,208,96,.08)}
.bag-slot.sel{outline:2px solid #f0d060}.bag-slot.dragging{opacity:.35}
.bag-ghost{position:fixed;left:0;top:0;width:56px;height:56px;pointer-events:none;z-index:999;opacity:.9;background:#100606;border:1px solid #f0d060;display:flex;align-items:center;justify-content:center;font-size:10px;color:#f0d060}
.bag-ghost .slot-name{display:none}
@media (orientation:landscape) and (max-height:500px){#bag-panel .bag-hint,.warehouse-panel .bag-hint{display:none}.warehouse-panel .bag-slot{aspect-ratio:auto;height:46px}#bag-panel .bag-slot{aspect-ratio:auto;height:50px}}
.bag-slot.locked::after{content:'🔒';position:absolute;left:2px;top:1px;font-size:11px;filter:drop-shadow(0 0 2px #000)}
.npc-talk-btn{position:fixed;z-index:40;width:82px;height:82px;border-radius:50%;border:2px solid #f0d060;background:radial-gradient(circle at 50% 35%,#c0502a,#5a1408 70%,#2a0804);color:#fff0c0;font-size:19px;font-weight:800;box-shadow:0 0 14px rgba(240,200,80,.55),inset 0 2px 6px rgba(255,220,150,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-shadow:0 1px 2px #000;touch-action:manipulation}
.npc-talk-btn small{font-size:10px;font-weight:400;opacity:.85;max-width:74px;overflow:hidden;white-space:nowrap}
.npc-talk-btn.hidden{display:none}
.eq-tip-back{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}
.eq-tip{position:relative;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 20px);overflow:auto;background:linear-gradient(170deg,#2c0f0a,#0a0302);border:2px solid #c9a24a;border-radius:8px;box-shadow:0 0 0 1px #000,0 10px 30px rgba(0,0,0,.7),inset 0 0 18px rgba(0,0,0,.6);padding:10px 12px;color:#e8d8a8;font-size:13px}
.eq-tip .cq-x{top:0;right:0}
.et-head{display:flex;gap:10px;align-items:center;padding-right:40px;border-bottom:1px solid rgba(201,162,74,.35);padding-bottom:6px}
.et-head .item-ico.big{width:52px;height:52px;flex:0 0 52px;border:1px solid var(--rc);border-radius:6px;box-shadow:0 0 8px var(--rc)}
.et-name{font-size:16px;font-weight:800;text-shadow:0 1px 2px #000}.et-sub{font-size:11px;color:#c0a878}.et-sub .bad{color:#ff6050}.et-sub .on{color:#70e070}
.et-body{padding:6px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:10px}
.et-r{display:flex;gap:6px;align-items:baseline;line-height:1.55}.et-r span{color:#b09868;min-width:34px}.et-r b{color:#fff0c8}
.et-r em{font-style:normal;font-size:11px}.et-r i{font-style:normal}.et-r i.up{color:#50e050}.et-r i.dn{color:#ff5040}
.et-cmp{grid-column:1/-1;font-size:11px;color:#8a7858}
.et-btns{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.et-btns .btn{min-height:40px;min-width:60px}
@media (max-height:430px){.eq-tip{width:min(460px,calc(100vw - 32px))}}
.warehouse-panel .bag-slot{touch-action:none}
@media (orientation:landscape) and (max-height:500px){.warehouse-panel{padding-top:0!important;max-height:calc(100dvh - 8px)!important;top:4px!important;transform:translateX(-50%)!important}.warehouse-panel .bag-header{margin-bottom:2px!important;min-height:0!important}.warehouse-panel .panel-sub{margin:0 0 2px!important;font-size:12px}.warehouse-panel .bag-slot{height:calc((100dvh - 190px) / 4)!important;min-height:34px}.warehouse-panel .bag-pages{margin:3px 0 0}.bp-tab{height:28px}}
.bag-hbtn{white-space:nowrap;writing-mode:horizontal-tb;flex:0 0 auto;font-size:12px;padding:0 8px;margin-left:4px}
.bag-header>span{white-space:nowrap}
@media (orientation:landscape) and (max-height:500px){#bag-panel{width:min(600px,calc(100vw - 24px))!important;max-width:none!important}#bag-panel .bag-header .bag-hbtn{height:30px}}
.forge-btn{white-space:nowrap;writing-mode:horizontal-tb;height:30px!important;width:auto!important;padding:0 8px!important;font-size:12px!important}
@media (orientation:landscape) and (max-height:500px){#bag-panel{top:4px!important;transform:none!important;right:calc(8px + var(--sar,0px))!important;max-height:calc(100dvh - 8px)!important;overflow:hidden!important}#bag-panel .bag-equip{margin:2px 0!important}#bag-panel .equip-slot{min-height:0!important;height:34px!important;padding:2px 8px!important}#bag-panel .bag-slot{height:calc((100dvh - 200px) / 4)!important;min-height:32px}
#bag-panel .bag-slot .item-ico,.warehouse-panel .bag-slot .item-ico{width:auto!important;height:85%!important;aspect-ratio:1;max-width:44px;position:static!important}}
/* 一键出售筛选面板 */
#cq-junk .jk-panel{width:min(780px,calc(100vw - 24px));max-height:calc(100dvh - 12px);display:flex;flex-direction:column;padding:8px 10px;box-sizing:border-box}
#cq-junk .jk-body{display:flex;gap:8px;min-height:0;flex:1}
#cq-junk .jk-filters{width:300px;display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;overflow:auto}
#cq-junk .jk-h{width:100%;color:#c8a060;font-size:12px;margin-top:2px}
#cq-junk .jk-chip{display:flex;align-items:center;gap:4px;min-height:44px;min-width:68px;padding:0 4px;box-sizing:border-box;border:1px solid #6a5030;border-radius:6px;background:rgba(40,25,10,.8);color:#f0d890;font-size:13px}
#cq-junk .jk-chip input{width:20px;height:20px;margin:0}
#cq-junk .jk-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,48px);gap:4px;overflow:auto;align-content:start;touch-action:pan-y}
#cq-junk .jk-it{position:relative;width:48px;height:48px;padding:2px;border:2px solid #4a3a26;border-radius:6px;background:rgba(20,14,8,.85)}
#cq-junk .jk-it.on{border-color:#ffcc33;box-shadow:0 0 8px #ffb020;background:rgba(120,70,10,.6)}
#cq-junk .jk-it.dis{opacity:.4}
#cq-junk .jk-it i{position:absolute;right:2px;bottom:0;font-style:normal;font-size:11px;color:#fff;text-shadow:0 0 2px #000}
#cq-junk .jk-it em{position:absolute;left:1px;top:0;font-style:normal;font-size:10px;color:#ffd040}
#cq-junk .jk-it img,#cq-junk .jk-it span{max-width:100%;max-height:100%}
#cq-junk .jk-foot{display:flex;align-items:center;gap:8px;padding-top:6px}
#cq-junk .jk-sum{flex:1;color:#f0d890;font-size:14px}
#cq-junk .jk-foot .btn{min-height:44px;min-width:88px}
/* ===== P0 ===== */
.bag-slot.cap-lock{opacity:.45;background:repeating-linear-gradient(45deg,#1a1208 0 6px,#241a0c 6px 12px)!important;position:relative}
.bag-slot.cap-lock::after{content:attr(data-lv);position:absolute;inset:auto 0 2px 0;text-align:center;font-size:9px;color:#c9a050}
#p0-target{position:fixed;top:6px;left:calc(env(safe-area-inset-left) + 200px);z-index:60;min-width:180px;padding:4px 10px;background:rgba(20,8,4,.85);border:1px solid #8a6a30;border-radius:6px;color:#f0d890;font-size:12px;pointer-events:none}
#p0-target .tb{position:relative;height:7px;background:#300;margin-top:2px;border-radius:3px;overflow:hidden}#p0-target .tb i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#f44,#a00)}#p0-target .tb em{position:absolute;inset:-3px 0;text-align:center;font-size:9px;font-style:normal;color:#fff}
#p0-exp{position:fixed;left:50%;bottom:78px;transform:translateX(-50%);color:#ffe060;font:bold 14px sans-serif;text-shadow:0 0 3px #000;opacity:0;pointer-events:none;z-index:55}
#p0-exp.on{animation:p0fade 1.2s forwards}@keyframes p0fade{0%,60%{opacity:1}100%{opacity:0}}
#p0-banner{position:fixed;top:22%;left:50%;transform:translateX(-50%);z-index:70;color:#ffd060;font:bold 18px serif;text-shadow:0 0 4px #000;padding:6px 18px;background:linear-gradient(90deg,transparent,rgba(40,10,0,.8),transparent);opacity:0;pointer-events:none}
#p0-banner.on{animation:p0fade 2.4s forwards}
.p0-dis{color:#c08060;font-size:12px;margin:4px 0}
#p0-create{display:flex;flex-direction:column;gap:6px;max-width:620px;margin:0 auto}
.pc-cls{display:flex;gap:8px}.pc-card{flex:1;min-height:72px;padding:6px;background:#2a1a0c;border:2px solid #5a4020;color:#f0d890;border-radius:6px;display:flex;flex-direction:column;gap:2px;font-size:11px;text-align:left}
.pc-card b{font-size:16px}.pc-card.on{border-color:#ffd060;background:#4a2a10}
.pc-row{display:flex;gap:8px;align-items:center}.pc-g,.pc-dice{min-width:44px;min-height:44px;background:#2a1a0c;border:2px solid #5a4020;color:#f0d890;border-radius:6px;font-size:16px}.pc-g.on{border-color:#ffd060}
#pc-name{flex:1;min-height:44px;font-size:16px;padding:0 10px;background:#120a04;color:#ffe;border:1px solid #8a6a30;border-radius:6px}
.pc-msg{color:#ff8060;font-size:12px;min-height:16px}.pc-msg.ok{color:#80e080}.pc-go{min-height:44px;font-size:16px}
.ch-list{display:flex;flex-direction:column;gap:6px;min-width:min(520px,90vw)}.ch-row{display:flex;gap:8px;align-items:center;padding:4px 8px;background:#1a1006;border:1px solid #4a3418;border-radius:6px}
.ch-row.cur{border-color:#ffd060}.ch-row.del{opacity:.7}.ch-n{flex:1;color:#f0d890}.ch-n em{color:#c9a050;font-style:normal;font-size:12px}.ch-row .btn{min-height:44px;min-width:64px}.ch-note{color:#a08050;font-size:11px;margin-top:6px}
#p0-death{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;background:rgba(30,0,0,.35)}
.pd-box{padding:14px 22px;text-align:center;color:#f0d890;min-width:300px}.pd-t{font:bold 22px serif;color:#ff6050}.pd-s{font-size:12px;margin:4px 0}.pd-c{margin:6px 0;color:#ffd060}
.pd-b{display:flex;gap:10px;justify-content:center}.pd-b .btn{min-height:44px;min-width:120px}.pd-b .btn:disabled{opacity:.45}
.p0-cf .item-dlg-btns .btn{min-height:44px;min-width:64px}
#p0-tut{position:fixed;top:44px;left:50%;transform:translateX(-50%);z-index:90;display:none;align-items:center;gap:8px;padding:4px 6px 4px 12px;background:rgba(40,20,0,.9);border:1px solid #ffd060;border-radius:20px;color:#ffe9a0;font-size:13px}
#p0-tut.on{display:flex}#p0-tut .tt-skip{min-height:44px;min-width:44px;background:none;border:1px solid #8a6a30;border-radius:16px;color:#c9a050;font-size:12px;padding:0 10px}
#p0-ring{position:fixed;z-index:89;border:3px solid #ffd060;border-radius:50%;pointer-events:none;display:none;animation:p0pulse 1s infinite}#p0-ring.on{display:block}
@keyframes p0pulse{50%{box-shadow:0 0 14px 4px rgba(255,208,96,.8);transform:scale(1.06)}}
.p0-low{animation:p0blink 1s infinite}.p0-zero{filter:grayscale(1);opacity:.55}@keyframes p0blink{50%{box-shadow:0 0 0 2px #ff4030 inset}}
.st-panel{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 16px)}
.st-wrap{display:flex;gap:8px;max-height:calc(100vh - 80px)}.st-tabs{display:flex;flex-direction:column;gap:4px}
.st-tabs button{min-height:44px;min-width:64px;background:#2a1a0c;border:1px solid #5a4020;color:#c9a050;border-radius:6px}.st-tabs button.on{color:#ffd060;border-color:#ffd060}
.st-body{flex:1;overflow:auto;padding-right:4px}.st-pg{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.st-c{display:flex;align-items:center;gap:8px;min-height:44px;color:#f0d890;font-size:13px}.st-c input{width:22px;height:22px}.st-c.sm{font-size:12px}
.st-r{display:flex;flex-direction:column;justify-content:center;min-height:44px;color:#f0d890;font-size:12px}.st-r input[type=range]{width:100%;min-height:28px}.st-r select{min-height:36px;font-size:14px;background:#120a04;color:#ffe;border:1px solid #8a6a30}
.st-n{grid-column:1/-1;color:#a08050;font-size:12px}
#p0-topbar{position:fixed;z-index:60;top:calc(max(4px,env(safe-area-inset-top)) + 54px);right:calc(max(6px,env(safe-area-inset-right)) + 160px);display:flex;flex-direction:column;align-items:flex-end;gap:6px}
#p0-topbar button{min-width:44px;min-height:44px;border-radius:8px;border:1px solid #b08040;background:rgba(20,10,6,.78);color:#f0d890;font-size:13px;padding:0 8px;display:flex;align-items:center;gap:3px;touch-action:manipulation}
#p0-gear{font-size:22px!important}#p0-gear small{font-size:12px}
/* P1 */
#p1-bar{position:fixed;z-index:60;top:calc(env(safe-area-inset-top) + 56px);right:calc(env(safe-area-inset-right) + 247px);display:flex;gap:3px}
#p1-bar button,#p1-afk{position:relative;min-width:44px;min-height:44px;border-radius:8px;border:1px solid #b08040;background:rgba(20,10,6,.78);color:#f0d890;font-size:13px;padding:0 6px;touch-action:manipulation}
#p1-bar i.dot{position:absolute;top:3px;right:3px;width:9px;height:9px;border-radius:50%;background:#f33}
#p1-bar i.num{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:8px;background:#e22;color:#fff;font:bold 11px/16px sans-serif;font-style:normal}
#p1-bar #p1-afk{position:relative}
#p1-afk.on{background:#6a2a10;color:#ffe080;box-shadow:0 0 8px #fa4}#p1-afk.off{opacity:.45}
.p1-panel{width:min(640px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px))!important;display:flex;flex-direction:column;padding:8px 12px!important;overflow:hidden!important}.p1-panel .item-dlg-title{margin:0 0 4px;flex:none}.p1-panel .p1-body{flex:1 1 auto;min-height:0}.p1-foot{flex:none;display:flex;gap:8px;justify-content:center;margin:4px 0 0!important;padding-top:6px;border-top:1px solid #5a4020}.p1-panel .p1-row{margin:3px 0}.p1-panel .p1-n{margin:2px 0;font-size:12px}
.p1-body{overflow:auto;-webkit-overflow-scrolling:touch;color:#e8d8b0;font-size:13px}
.p1-tabs{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.p1-tab{min-height:44px;min-width:60px;border:1px solid #8a6030;background:#2a1a10;color:#cdb;border-radius:6px}.p1-tab.on{background:#7a2a14;color:#ffe090}
.p1-n{margin:4px 0;color:#cdb488}.p1-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}.p1-row .btn,.p1-row label{min-height:44px;display:inline-flex;align-items:center}
.p1-cal{display:grid;grid-template-columns:repeat(14,1fr);gap:3px}.p1-d{background:#2a1a10;border:1px solid #5a4020;border-radius:4px;text-align:center;font-size:11px;min-height:34px;padding:2px}.p1-d.ok{background:#4a3a10;border-color:#d0a040}.p1-d.big{border-color:#e0a040}.p1-d small{display:block;font-size:9px;color:#fc8;line-height:1.1}
.p1-list{display:flex;flex-direction:column;gap:3px}.p1-it{display:flex;gap:8px;align-items:center;background:rgba(40,24,12,.8);border:1px solid #4a3418;border-radius:5px;padding:4px 8px;min-height:40px}.p1-it b{min-width:80px;color:#ffe0a0}.p1-it span{flex:1;color:#bba}.p1-it em{font-style:normal;color:#9cf}.p1-it i{font-style:normal;color:#fc6}.p1-it.ok{opacity:.7}.p1-it.ok em{color:#7f7}
.p1-it.me{border-color:#fc4;background:#4a3010}.p1-it.gold b{color:#ffd700;text-shadow:0 0 4px #c90}.p1-rank em{width:28px}
.p1-m{cursor:pointer}.p1-m.rd{opacity:.65}.p1-mh b{color:#ffe0a0;font-size:15px}.p1-mh small{display:block;color:#998}.p1-mb{white-space:normal}.p1-att{display:flex;flex-wrap:wrap;gap:6px}.p1-att span{display:flex;align-items:center;gap:4px;background:#2a1a10;padding:4px 6px;border-radius:5px}.p1-att i{font-style:normal;color:#f96;font-size:11px}
.p1-cat{color:#fc8;margin:8px 0 3px;border-bottom:1px solid #5a4020}
.p1-ach{position:fixed;z-index:95;right:calc(max(8px,env(safe-area-inset-right)));top:40%;background:linear-gradient(90deg,#3a1a08,#6a3a10);border:1px solid #fc6;color:#ffe9b0;padding:8px 14px;border-radius:8px;animation:p1in .3s}.p1-ach b{display:block;color:#ffd700}.p1-ach em{color:#7f7;font-style:normal}
@keyframes p1in{from{transform:translateX(120%)}to{transform:none}}
.p1-vrow{display:flex;gap:10px;justify-content:center}.p1-vrow .btn{font-size:28px;min-width:60px;min-height:60px}

#p0-track{position:fixed;left:max(12px,env(safe-area-inset-left));top:172px;z-index:40;width:260px;height:40px;display:flex;align-items:center;background:rgba(15,8,2,.72);border:1px solid #6a4a20;border-radius:6px;color:#f0d890;font-size:11px;line-height:1.3;overflow:hidden;box-sizing:border-box}
#p0-track .tr-t{color:#ffd060;font-weight:bold;padding:0 4px 0 6px;flex:none}
#p0-track .tr-b{flex:1;min-width:0;height:100%;display:flex;align-items:center;cursor:pointer;overflow:hidden}
#p0-track.col .tr-b{white-space:nowrap;text-overflow:ellipsis;display:block;line-height:38px}
#p0-track:not(.col){width:min(420px,calc(100vw - 460px));min-width:260px}
#p0-track .tr-go{flex:none;min-width:48px;height:100%;min-height:40px;font-size:12px;background:linear-gradient(#6a3a10,#3a1e08);border:0;border-left:1px solid #8a6a30;color:#ffd060;padding:0}
#p0-testbar{top:calc(env(safe-area-inset-top) + 104px)!important;bottom:auto!important;left:auto!important;transform:none!important;right:calc(env(safe-area-inset-right) + 247px);gap:4px!important;display:none!important}#p0-testbar a{min-width:56px!important;font-size:12px}
#p0-testbar.show{display:flex!important}

/* 面板高度 ≤ 视口 - 安全区；主体滚动 */
.bag-panel,.char-panel,.modal-panel,.shop-panel,.warehouse-panel,#dialogue-panel,.item-dlg{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px)!important;box-sizing:border-box}
.item-dlg:not(.p1-panel){overflow-y:auto;-webkit-overflow-scrolling:touch}
/* ===== 人物/背包 横屏三栏（v1030-ui2） ===== */
#char-panel.char-panel{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:300!important;
  width:min(87vw,780px)!important;max-width:none!important;height:auto!important;max-height:min(84vh,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px))!important;overflow:hidden!important;
  display:grid!important;grid-template-columns:auto auto 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"hd hd hd" "doll st bag" "doll st pg";column-gap:10px;row-gap:4px;
  padding:4px 8px!important;box-sizing:border-box;border-width:22px!important;border-style:solid!important;border-color:transparent!important;border-image:url(../assets/ui/skin/2x/panel.webp) 48 fill / 22px stretch!important;
  background:radial-gradient(ellipse at 50% 40%,rgba(70,44,20,.55),rgba(10,6,3,.2) 70%),url(../assets/ui/skin/2x/panel.webp) center/96px repeat!important;box-shadow:0 10px 40px rgba(0,0,0,.85)!important}
#char-panel.hidden{display:none!important}
#char-panel>.bag-header{grid-area:hd;margin:-14px -2px 0!important;padding:0 0 2px!important;min-height:32px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(208,160,64,.35)}
#char-panel>.bag-header>span{flex:1;font-size:15px;color:#ffd77a;letter-spacing:4px;text-shadow:0 0 6px #a60,0 1px 0 #000;text-align:center}
#char-panel>.bag-header .bag-hbtn{min-height:32px!important;font-size:12px!important;padding:0 8px!important}
#char-panel .bag-close{width:40px!important;height:40px!important;min-width:40px!important;border:0!important;background:url(../assets/ui/skin/2x/btn_close.webp) center/32px no-repeat!important;color:transparent!important;font-size:0!important}
#char-panel .char-body{display:contents!important}
#char-panel .char-doll{grid-area:doll;position:relative!important;width:auto!important;height:auto!important;display:grid!important;grid-template-columns:44px 76px 44px;grid-template-rows:repeat(4,44px);gap:6px 6px;align-self:center;padding:0!important;margin:0!important;background:none!important}
#char-panel .doll-portrait{grid-column:2;grid-row:1/5;width:76px!important;height:188px!important;object-fit:contain;position:static!important;align-self:center;background:radial-gradient(ellipse at 50% 70%,rgba(255,200,90,.18),transparent 65%);border-radius:8px}
#char-panel .doll-slot{position:static!important;width:44px!important;height:44px!important;min-width:0!important;min-height:0!important;padding:5px!important;margin:0!important;display:flex!important;align-items:center;justify-content:center;transform:none!important;
  border:0!important;border-image:url(../assets/ui/skin/2x/slot.webp) 16 fill / 8px!important;background:none!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
#char-panel .doll-slot>span:not(.item-ico){display:none!important}
#char-panel .doll-slot .item-ico{width:32px!important;height:32px!important;transform:none!important}
#char-panel .doll-slot:not(.has)::after{content:attr(data-lbl);font-size:10px;color:#8a7650}
#char-panel .doll-helmet{grid-column:1;grid-row:1}#char-panel .doll-necklace{grid-column:1;grid-row:2}#char-panel .doll-bracelet{grid-column:1;grid-row:3}#char-panel .doll-ring{grid-column:1;grid-row:4}
#char-panel .doll-weapon{grid-column:3;grid-row:1}#char-panel .doll-armor{grid-column:3;grid-row:2}#char-panel .doll-bracelet2{grid-column:3;grid-row:3}#char-panel .doll-ring2{grid-column:3;grid-row:4}
#char-panel .char-stats{grid-area:st;width:190px!important;align-self:center;display:grid!important;grid-template-columns:auto auto;gap:3px 8px;font-size:11px!important;padding:6px!important;margin:0!important;
  background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.15))!important;border:1px solid rgba(176,136,64,.45)!important;border-radius:6px;max-height:100%;overflow:hidden}
#char-panel .char-stats>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;border-bottom:1px dotted rgba(176,136,64,.25);color:#e8d6a8}
#char-panel .char-stats>div:first-child{grid-column:1/3;color:#ffd77a;font-weight:bold}
#char-panel .panel-sub,#char-panel .bag-hint,#char-panel .art-credit{display:none!important}
#char-panel #char-bag{grid-area:bag;display:grid!important;grid-template-columns:repeat(6,44px)!important;grid-auto-rows:44px!important;gap:4px!important;align-content:start;justify-content:center;padding:0!important;margin:0!important;max-height:none!important;overflow:visible!important;background:none!important;width:auto!important}
#char-panel #char-bag .bag-slot{width:44px!important;height:44px!important;min-width:0!important;min-height:0!important;padding:4px!important;aspect-ratio:auto!important;border:0!important;border-image:url(../assets/ui/skin/2x/slot.webp) 16 fill / 8px!important;background:none!important;position:relative}
#char-panel #char-bag .bag-slot .item-ico{width:34px!important;height:34px!important;transform:none!important}
#char-panel #char-bag .slot-name{display:none!important}
#char-panel #char-bag .slot-qty{position:absolute;right:3px;bottom:1px;font-size:10px;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000}
#char-panel #char-bag .slot-empty{display:none}
#char-panel .bag-pages{grid-area:pg;display:flex;justify-content:center;gap:6px;margin:0!important}
#char-panel .bp-tab{min-width:44px;min-height:30px!important;font-size:12px}
#char-panel .bag-slot[data-t],#char-panel .doll-slot[data-t]{position:relative}
#char-panel .bag-slot[data-t]::before,#char-panel .doll-slot[data-t]::before{content:"";position:absolute;inset:2px;border-radius:4px;pointer-events:none;box-shadow:inset 0 0 0 2px var(--tc),inset 0 0 8px var(--tc)}
#char-panel .bag-slot[data-t=""]::before,#char-panel .doll-slot[data-t=""]::before{display:none}
#char-panel [data-t=T1]{--tc:rgba(216,216,216,.55)}#char-panel [data-t=T2]{--tc:rgba(96,160,255,.85)}#char-panel [data-t=T3]{--tc:rgba(192,128,255,.9)}#char-panel [data-t=T4]{--tc:rgba(255,176,64,.95)}#char-panel [data-t=T5]{--tc:rgba(255,80,80,1)}
body.cq-char-open .cq-orb,body.cq-char-open #skill-ring,body.cq-char-open #btn-attack,body.cq-char-open #skill-bar,body.cq-char-open #btn-npc-talk,body.cq-char-open #p1-bar,body.cq-char-open #p0-topbar,body.cq-char-open #p0-testbar,body.cq-char-open #p0-track{visibility:hidden}
#char-panel .char-doll,#char-panel .char-doll:focus{outline:0!important;border:0!important;box-shadow:none!important}
#char-panel .cu-b{min-height:34px!important;min-width:56px;font-size:12px!important;padding:0 8px!important}
#char-panel>.bag-header>span{text-align:left!important;padding-left:8px}
#char-panel .doll-slot{position:relative!important}
body.cq-char-open #minimap,body.cq-char-open #minimap-cv{visibility:hidden!important}
