@font-face{font-family:"Noto Serif Xian";src:url("../assets/ui/fonts/noto-serif-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif Xian";src:url("../assets/ui/fonts/noto-serif-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif Xian";src:url("../assets/ui/fonts/noto-serif-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Be Vietnam Pro Xian";src:url("../assets/ui/fonts/be-vietnam-pro-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Be Vietnam Pro Xian";src:url("../assets/ui/fonts/be-vietnam-pro-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Be Vietnam Pro Xian";src:url("../assets/ui/fonts/be-vietnam-pro-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Be Vietnam Pro Xian";src:url("../assets/ui/fonts/be-vietnam-pro-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --xui-ink:#050606;
  --xui-ink-2:#0a0b0a;
  --xui-silk:#10120f;
  --xui-silk-2:#171912;
  --xui-bronze:#8d7040;
  --xui-bronze-hi:#c5a66a;
  --xui-jade:#a8c8b5;
  --xui-jade-deep:#557c69;
  --xui-bone:#e7ddc7;
  --xui-paper:#cfc0a1;
  --xui-cinnabar:#a33b2f;
  --xui-gold:#c8a75b;
  --xui-danger:#b54b43;
  --xui-success:#6ea986;
  --xui-muted:#9d988a;
  --xui-focus:#d8bf7b;
  --xui-safe-top:env(safe-area-inset-top,0px);
  --xui-safe-right:env(safe-area-inset-right,0px);
  --xui-safe-bottom:env(safe-area-inset-bottom,0px);
  --xui-safe-left:env(safe-area-inset-left,0px);
  --xui-motion-fast:110ms;
  --xui-motion-panel:220ms;
  --xui-motion-reward:380ms;
  --font-title:"Noto Serif Xian","Noto Serif",Georgia,serif;
  --font-body:"Be Vietnam Pro Xian","Be Vietnam Pro","Segoe UI",sans-serif;
  --gold:var(--xui-gold);
  --cyan:var(--xui-jade);
  --purple:#887b9f;
  --border:rgba(158,126,74,.5);
}

.xian-ui-v2,.xian-launcher{font-family:var(--font-body);color:var(--xui-bone);background:var(--xui-ink);text-rendering:optimizeLegibility}
.xian-ui-v2 .font-title,.xian-ui-v2 h1,.xian-ui-v2 h2,.xian-ui-v2 h3,.xian-launcher h1,.xian-launcher h2,.xian-launcher h3{font-family:var(--font-title)!important}
.xian-ui-v2 *,.xian-launcher *{scrollbar-color:var(--xui-bronze) var(--xui-ink-2);scrollbar-width:thin}
.xian-ui-v2 ::selection,.xian-launcher ::selection{background:var(--xui-jade-deep);color:#fff}
.xian-ui-v2 button,.xian-ui-v2 [role="button"],.xian-launcher button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.xian-ui-v2 :focus-visible,.xian-launcher :focus-visible{outline:2px solid var(--xui-focus)!important;outline-offset:3px;box-shadow:0 0 0 5px rgba(216,191,123,.14)!important}

/* Game shell */
body.xian-ui-v2{width:100vw;height:100dvh;overflow:hidden;padding:0!important;background:#050606}
html.xian-ui-v2-root{width:100%;height:100%;overflow:hidden}
body.xian-ui-v2>header{position:fixed!important;inset:0 0 auto 0;height:72px!important;z-index:80!important;padding:10px 18px 10px 26px!important;background:rgba(5,6,6,.96)!important;border-bottom:1px solid rgba(151,119,65,.62)!important;box-shadow:0 8px 24px rgba(0,0,0,.52)!important}
body.xian-ui-v2>header:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:8px;background:url("../assets/ui/frames/frame-status-bar.webp") center/100% 100% no-repeat;pointer-events:none;opacity:.5}
body.xian-ui-v2>header>div:first-child>div:first-child{width:34px;height:34px;font-size:0!important;background:url("../assets/ui/icons/nav-cultivation.webp") center/contain no-repeat;filter:drop-shadow(0 3px 7px rgba(0,0,0,.7))}
body.xian-ui-v2>header h1{background:none!important;color:var(--xui-bone)!important;-webkit-text-fill-color:var(--xui-bone)!important;font-size:18px!important;letter-spacing:.18em!important;text-shadow:0 2px 0 #000}
body.xian-ui-v2>header h1 span{color:var(--xui-cinnabar)!important;-webkit-text-fill-color:var(--xui-cinnabar)!important}
body.xian-ui-v2>header p{color:#767369!important;letter-spacing:.14em!important}
body.xian-ui-v2>header>div:last-child>div:first-child{display:none!important}
body.xian-ui-v2>header .header-actions .btn{width:44px;min-width:44px;padding:8px!important}

.xui-resource-dock{position:fixed;z-index:82;top:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;max-width:min(720px,58vw);pointer-events:none}
.xui-resource{height:50px;min-width:118px;display:grid;grid-template-columns:30px auto;grid-template-rows:15px 20px;align-content:center;column-gap:7px;padding:6px 18px 6px 13px;color:var(--xui-bone);background:rgba(11,12,10,.96);border:14px solid transparent;border-image:url("../assets/ui/frames/frame-button.webp") 100 165 fill/14px 20px/0 stretch;pointer-events:auto;white-space:nowrap}
.xui-resource img{grid-row:1/3;width:28px;height:28px;align-self:center;object-fit:contain;filter:drop-shadow(0 2px 5px #000)}
.xui-resource small{font:600 9px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#8e8a7e}
.xui-resource strong{font:700 16px/1.1 var(--font-title);color:var(--xui-bone);font-variant-numeric:tabular-nums}
.xui-resource[data-resource="qi"]{min-width:150px}
.xui-resource-meter{grid-column:2;width:100%;height:3px;background:#22251f;overflow:hidden;margin-top:3px}
.xui-resource-meter>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--xui-jade-deep),var(--xui-jade));transition:width 180ms ease-out}

body.xian-ui-v2>main{position:relative!important;display:grid!important;grid-template-columns:244px minmax(420px,1fr) 304px!important;height:calc(100dvh - 72px)!important;min-height:0!important;margin-top:72px!important;overflow:hidden!important;background:var(--xui-ink)!important}
body.xian-ui-v2>main>.left{grid-column:1!important;background:#090a09!important;border-right:1px solid rgba(139,108,57,.6)!important;overflow:hidden!important;position:relative}
body.xian-ui-v2>main>.left:after{content:"";position:absolute;inset:0;background:url("../assets/ui/frames/frame-panel.webp") center/100% 100% no-repeat;opacity:.38;pointer-events:none}
body.xian-ui-v2>main>.left>section:not(:first-child){display:none!important}
body.xian-ui-v2 #avatar-section{position:absolute!important;inset:auto 0 0 0;min-height:43%;padding:20px 10px 18px!important;display:flex;align-items:flex-end;justify-content:center;border:0!important;background:#070807!important;z-index:2}
body.xian-ui-v2 #avatar-section:before{content:"";position:absolute;inset:0;background:url("../assets/maps/van_suong_son.webp") center/cover no-repeat;opacity:.22;filter:saturate(.45) contrast(1.2)}
body.xian-ui-v2 #avatar-section .absolute.inset-0{display:none!important}
body.xian-ui-v2 #avatar-section>.relative{width:100%}
body.xian-ui-v2 #avatar-wrap{width:220px;height:255px;margin-bottom:-4px!important}
body.xian-ui-v2 #avatar-wrap .realm-rings-container,body.xian-ui-v2 #avatar-wrap .realm-rune{display:none!important}
body.xian-ui-v2 #avatar-face{width:220px!important;height:255px!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center bottom!important;background-size:contain!important;box-shadow:none!important;filter:drop-shadow(0 16px 16px rgba(0,0,0,.78));color:transparent!important}
body.xian-ui-v2 #name-input{font-family:var(--font-title)!important;font-size:17px!important;color:var(--xui-bone)!important;text-shadow:0 2px 0 #000;border:0!important}
body.xian-ui-v2 #sidebar-title-badge{margin-top:4px}
body.xian-ui-v2 #sidebar-title-img{max-width:200px;max-height:76px;object-fit:contain;filter:saturate(.7) sepia(.12) drop-shadow(0 4px 8px #000)}
body.xian-ui-v2 #avatar-section .mt-2.flex{display:none!important}

.xui-nav{position:fixed;z-index:85;top:88px;left:14px;width:212px;display:grid;gap:5px;padding:0;margin:0}
.xui-nav-button{position:relative;min-height:72px;width:100%;display:grid;grid-template-columns:62px 1fr;align-items:center;gap:8px;padding:6px 16px 6px 8px;color:#bbb39e;text-align:left;background:#0b0c0a;border:16px solid transparent;border-image:url("../assets/ui/frames/frame-button.webp") 95 165 fill/16px 22px/0 stretch;cursor:pointer;transition:transform var(--xui-motion-fast) ease-out,color var(--xui-motion-fast) ease-out,filter var(--xui-motion-fast) ease-out}
.xui-nav-button img{width:54px;height:54px;object-fit:contain;filter:saturate(.62) drop-shadow(0 4px 7px #000);transition:transform var(--xui-motion-fast) ease-out,filter var(--xui-motion-fast) ease-out}
.xui-nav-button span{font:700 13px/1.1 var(--font-title);letter-spacing:.08em;text-transform:uppercase}
.xui-nav-button:hover,.xui-nav-button[aria-current="page"]{color:var(--xui-bone);filter:brightness(1.14)}
.xui-nav-button:hover img,.xui-nav-button[aria-current="page"] img{filter:saturate(.9) drop-shadow(0 3px 8px rgba(156,195,173,.35));transform:scale(1.04)}
.xui-nav-button:active{transform:scale(.97)}

body.xian-ui-v2 .map-shell{grid-column:2!important;min-height:0!important;height:100%!important;border:0!important;background-color:#080a09!important;overflow:hidden!important;isolation:isolate}
body.xian-ui-v2 .map-shell:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 64px 16px rgba(2,3,3,.46),inset 0 0 0 1px rgba(174,139,79,.28)}
body.xian-ui-v2 #map-container{background:#1b2521 url("../assets/maps/world_overview_v2.webp") center/cover no-repeat!important;filter:none}
body.xian-ui-v2 .map-shell>.absolute.top-4{top:14px!important;left:18px!important;right:auto!important;max-width:72%;gap:5px!important;z-index:45!important}
body.xian-ui-v2 .tag{border:9px solid transparent!important;border-image:url("../assets/ui/frames/frame-button.webp") 105 170 fill/9px 12px/0 stretch!important;border-radius:0!important;background:#0d0f0d!important;color:#aaa497!important;padding:3px 8px!important;font:600 10px/1.2 var(--font-body)!important;box-shadow:none!important}
body.xian-ui-v2 .tag b{color:var(--xui-jade)!important}
body.xian-ui-v2 .map-toolbar{top:16px!important;right:18px!important;left:auto!important;z-index:46!important;max-width:54%;display:flex!important;justify-content:flex-end!important;gap:2px!important;background:none!important;padding:0!important}
body.xian-ui-v2 .map-pill{min-height:38px!important;border:10px solid transparent!important;border-image:url("../assets/ui/frames/frame-tab.webp") 120 160 fill/10px 14px/0 stretch!important;border-radius:0!important;background:#0d0f0d!important;color:#aaa392!important;font:700 9px/1 var(--font-title)!important;letter-spacing:.04em!important;padding:3px 8px!important;box-shadow:none!important}
body.xian-ui-v2 .map-pill.active{color:var(--xui-bone)!important;filter:brightness(1.18);transform:translateY(1px)}
body.xian-ui-v2 .map-bottom-mini{max-width:560px;margin:0 auto 12px;border:14px solid transparent!important;border-image:url("../assets/ui/frames/frame-tooltip.webp") 75 100 fill/14px 18px/0 stretch!important;border-radius:0!important;background:#11120f!important;padding:10px 18px!important}
body.xian-ui-v2 .map-shell>.absolute.bottom-0{padding:0 18px 0!important;background:none!important;z-index:44!important}
body.xian-ui-v2 .map-bottom-mini h2{font-size:17px!important;color:var(--xui-bone)!important}
body.xian-ui-v2 .map-bottom-mini p{display:none}
body.xian-ui-v2 .map-node{width:44px;height:44px;border:0!important;border-radius:0!important;background:transparent url("../assets/ui/frames/frame-map-node.webp") center/contain no-repeat!important;box-shadow:none!important;filter:drop-shadow(0 3px 4px rgba(0,0,0,.8));transition:transform 140ms ease-out,filter 140ms ease-out}
body.xian-ui-v2 .map-node:hover{transform:translate(-50%,-50%) scale(1.12)!important;filter:brightness(1.25) drop-shadow(0 4px 8px #000)}
body.xian-ui-v2 .node-label{font-family:var(--font-title)!important;color:var(--xui-bone)!important;text-shadow:0 2px 4px #000,0 0 5px #000}

.xui-cultivation-orb{position:fixed;z-index:86;left:calc(50% - 20px);bottom:14px;width:106px;height:106px;border:0;background:transparent url("../assets/ui/icons/nav-cultivation.webp") center/contain no-repeat;filter:drop-shadow(0 10px 12px rgba(0,0,0,.78));cursor:pointer;transition:transform 140ms ease-out,filter 140ms ease-out}
.xui-cultivation-orb:hover{transform:translateY(-3px) scale(1.04);filter:brightness(1.12) drop-shadow(0 12px 14px #000)}
.xui-cultivation-orb:active{transform:scale(.96)}
.xui-cultivation-orb span{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);white-space:nowrap;font:700 10px/1 var(--font-title);letter-spacing:.12em;text-transform:uppercase;color:var(--xui-bone);text-shadow:0 2px 4px #000}

body.xian-ui-v2>main>.right{grid-column:3!important;position:relative!important;padding:26px 20px 20px!important;background:#c4b693!important;border:18px solid transparent!important;border-image:url("../assets/ui/frames/frame-panel.webp") 104/18px/0 stretch!important;color:#29261f!important;overflow-y:auto!important;box-shadow:-12px 0 28px rgba(0,0,0,.45),inset 0 0 46px rgba(71,51,25,.24);z-index:8}
body.xian-ui-v2>main>.right:before{display:none}
body.xian-ui-v2>main>.right h3{font-family:var(--font-title)!important;color:#4d4537!important;border-color:rgba(87,69,42,.28)!important}
body.xian-ui-v2>main>.right .text-gray-400,body.xian-ui-v2>main>.right .text-gray-500,body.xian-ui-v2>main>.right .text-gray-600{color:#6e6658!important}
body.xian-ui-v2>main>.right .thin-card,body.xian-ui-v2>main>.right .home-quick-card,body.xian-ui-v2>main>.right .utility-btn{background:rgba(241,225,190,.22)!important;border:1px solid rgba(83,66,40,.25)!important;color:#352f25!important;box-shadow:none!important;border-radius:1px!important}
body.xian-ui-v2>main>.right .btn{color:#3b3427!important}
body.xian-ui-v2>main>.right .home-hero{padding:0 0 16px!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(73,55,31,.28)!important;color:#332c22!important;box-shadow:none!important}
body.xian-ui-v2>main>.right .home-title{color:#342d22!important;text-shadow:none!important}
body.xian-ui-v2>main>.right .home-sub,body.xian-ui-v2>main>.right small{color:#665c4b!important}
body.xian-ui-v2>main>.right .home-chip{background:rgba(57,61,47,.09)!important;border:1px solid rgba(66,54,36,.26)!important;color:#3e4c3f!important;border-radius:1px!important}
body.xian-ui-v2>main>.right .home-quick-grid{gap:7px!important}
body.xian-ui-v2>main>.right .home-action{min-height:132px!important;padding:10px 7px!important;background:rgba(247,236,209,.28)!important;border:1px solid rgba(73,55,31,.28)!important;border-radius:1px!important;color:#342e23!important;box-shadow:none!important}
body.xian-ui-v2>main>.right .home-action:hover{background:rgba(255,245,218,.48)!important;transform:translateY(-1px)}
body.xian-ui-v2>main>.right .home-action b{color:#30291f!important;font-family:var(--font-title)!important}
body.xian-ui-v2>main>.right .home-action-icon{border-radius:1px!important;background:#9f9274!important;border-color:rgba(70,52,30,.32)!important;color:#30291f!important}
body.xian-ui-v2>main>.right .home-action-icon img{width:38px!important;height:38px!important;display:block;object-fit:contain;filter:sepia(.18) saturate(.62) contrast(1.08) drop-shadow(0 2px 2px rgba(36,27,17,.28))}
body.xian-ui-v2>main>.right .home-action .home-badge,body.xian-ui-v2>main>.right .home-action .badge{border-radius:1px!important}
body.xian-ui-v2>main>.right #game-log{background:rgba(57,49,36,.08)!important;color:#4d4334!important;border-color:rgba(79,59,34,.22)!important}
.xui-quest-toggle{display:none;position:fixed;z-index:88;right:12px;top:112px;width:48px;height:48px;border:0;background:#11130f url("../assets/ui/icons/feature-benefit.webp") center/36px no-repeat;box-shadow:0 8px 18px rgba(0,0,0,.55);cursor:pointer}

/* Shared controls and content surfaces */
body.xian-ui-v2 .glass,body.xian-ui-v2 .thin-card,body.xian-ui-v2 .home-quick-card,body.xian-ui-v2 .shop-card,body.xian-ui-v2 .npc-card,body.xian-ui-v2 .beast-card{background:var(--xui-silk)!important;border:1px solid rgba(156,122,69,.42)!important;border-radius:2px!important;box-shadow:0 14px 34px rgba(0,0,0,.36)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.xian-ui-v2 .btn,body.xian-ui-v2 button.btn{min-height:44px;border:12px solid transparent!important;border-image:url("../assets/ui/frames/frame-button.webp") 95 165 fill/12px 18px/0 stretch!important;border-radius:0!important;background:#0e100d!important;color:var(--xui-bone)!important;font:700 11px/1.2 var(--font-body)!important;letter-spacing:.06em!important;text-transform:uppercase;box-shadow:none!important;transition:transform var(--xui-motion-fast) ease-out,filter var(--xui-motion-fast) ease-out,opacity var(--xui-motion-fast) ease-out}
body.xian-ui-v2 .btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.16)}
body.xian-ui-v2 .btn:active:not(:disabled){transform:scale(.97)}
body.xian-ui-v2 .btn:disabled{opacity:.45;filter:grayscale(.65)}
body.xian-ui-v2 .btn-gold,body.xian-ui-v2 .btn-cyan{color:#f0e2bf!important;filter:sepia(.08)}
body.xian-ui-v2 input,body.xian-ui-v2 select,body.xian-ui-v2 textarea{min-height:44px;border:1px solid rgba(160,129,76,.5)!important;border-radius:1px!important;background:#090a09!important;color:var(--xui-bone)!important;font-family:var(--font-body)!important}
body.xian-ui-v2 .progress,body.xian-ui-v2 .combat-hp,body.xian-ui-v2 .combat-atb,body.xian-ui-v2 .combat-rage{position:relative;border:0!important;border-radius:0!important;background:#11130f!important;overflow:visible!important;box-shadow:none!important}
body.xian-ui-v2 .progress:after,body.xian-ui-v2 .combat-hp:after,body.xian-ui-v2 .combat-atb:after,body.xian-ui-v2 .combat-rage:after{content:"";position:absolute;inset:-5px -7px;background:url("../assets/ui/frames/frame-status-bar.webp") center/100% 100% no-repeat;pointer-events:none;z-index:2}
body.xian-ui-v2 .progress>div,body.xian-ui-v2 .combat-hp>div,body.xian-ui-v2 .combat-atb>div,body.xian-ui-v2 .combat-rage>div{border-radius:0!important;box-shadow:none!important}
body.xian-ui-v2 .item{position:relative;border:0!important;border-radius:0!important;background:#0c0e0c url("../assets/ui/frames/frame-item-slot.webp") center/100% 100% no-repeat!important;box-shadow:none!important;color:transparent!important;overflow:hidden}
body.xian-ui-v2 .item img{position:relative;z-index:1}

/* Modal screen system */
body.xian-ui-v2 .modal{position:fixed!important;inset:0!important;z-index:120!important;padding:clamp(14px,2vw,28px)!important;align-items:center!important;justify-content:center!important;background:rgba(2,3,3,.88)!important;backdrop-filter:none!important;opacity:0;pointer-events:none;transition:opacity var(--xui-motion-panel) ease-out}
body.xian-ui-v2 .modal.show{display:flex!important;opacity:1;pointer-events:auto}
body.xian-ui-v2 .modal>.modal-box,body.xian-ui-v2 .modal>.combat-modal-box{position:relative;width:min(1160px,96vw)!important;max-width:1160px!important;max-height:94dvh!important;border:24px solid transparent!important;border-image:url("../assets/ui/frames/frame-panel.webp") 104 fill/24px/0 stretch!important;border-radius:0!important;background:var(--xui-silk)!important;color:var(--xui-bone)!important;box-shadow:0 34px 90px rgba(0,0,0,.78)!important;overflow:auto!important;animation:xui-panel-in var(--xui-motion-panel) cubic-bezier(.16,1,.3,1) both}
body.xian-ui-v2 .modal .modal-xl{width:min(1320px,97vw)!important;max-width:1320px!important}
body.xian-ui-v2 .modal h2{color:var(--xui-bone)!important;text-shadow:0 2px 0 #000;letter-spacing:.04em}
body.xian-ui-v2 .modal h2:after{content:"";display:block;width:116px;height:5px;margin-top:7px;background:url("../assets/ui/frames/frame-status-bar.webp") center/100% 100% no-repeat;opacity:.8}
body.xian-ui-v2 .modal .absolute.top-4.right-4,body.xian-ui-v2 .xui-close{width:44px;height:44px;display:grid;place-items:center;border:10px solid transparent!important;border-image:url("../assets/ui/frames/frame-button.webp") 105 185 fill/10px/0 stretch!important;background:#0b0c0a!important;color:var(--xui-bone)!important;font-size:20px!important;line-height:1!important;z-index:12}
body.xian-ui-v2 .modal[data-xian-motif="inventory"]>.modal-box{background:#0d0f0d url("../assets/ui/icons/nav-inventory.webp") right 26px bottom 18px/190px auto no-repeat!important}
body.xian-ui-v2 .modal[data-xian-motif="cultivation"]>.modal-box{background:#0d0f0d url("../assets/ui/icons/nav-cultivation.webp") right 24px top 58px/190px auto no-repeat!important}
body.xian-ui-v2 .modal[data-xian-motif="sect"]>.modal-box{background:#0d0f0d url("../assets/ui/icons/feature-sect.webp") right 18px bottom 10px/210px auto no-repeat!important}
body.xian-ui-v2 .modal[data-xian-motif="story"]>.modal-box{background:#0d0f0d url("../assets/ui/icons/feature-benefit.webp") right 26px bottom 18px/160px auto no-repeat!important}
body.xian-ui-v2 .modal[data-xian-motif="npc"]>.modal-box{background:#0d0f0d url("../assets/ui/icons/feature-npc.webp") right 18px bottom 8px/190px auto no-repeat!important}
body.xian-ui-v2 #inv-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))!important;gap:10px!important}
body.xian-ui-v2 #item-detail{min-height:128px;border:18px solid transparent!important;border-image:url("../assets/ui/frames/frame-tooltip.webp") 75 105 fill/18px!important;background:#0c0d0b!important}
body.xian-ui-v2 #npc-grid,body.xian-ui-v2 .npc-grid,body.xian-ui-v2 .bestiary-grid,body.xian-ui-v2 .beast-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:14px!important}
body.xian-ui-v2 #npc-modal img,body.xian-ui-v2 #bestiary-modal img,body.xian-ui-v2 #beast-companion-modal img{object-position:center top}

.xui-more-backdrop{position:fixed;inset:0;z-index:118;display:grid;place-items:center;background:rgba(2,3,3,.82);opacity:0;pointer-events:none;transition:opacity var(--xui-motion-panel) ease-out}
.xui-more-backdrop.show{opacity:1;pointer-events:auto}
.xui-more-sheet{width:min(880px,calc(100vw - 32px));max-height:min(760px,88dvh);padding:40px;border:26px solid transparent;border-image:url("../assets/ui/frames/frame-panel.webp") 104 fill/26px/0 stretch;background:#0d0f0d;overflow:auto;transform:translateY(18px) scale(.98);transition:transform var(--xui-motion-panel) cubic-bezier(.16,1,.3,1)}
.xui-more-backdrop.show .xui-more-sheet{transform:none}
.xui-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.xui-more-head h2{margin:0;font:700 24px/1.2 var(--font-title);letter-spacing:.08em;color:var(--xui-bone)}
.xui-more-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.xui-more-item{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 8px;border:14px solid transparent;border-image:url("../assets/ui/frames/frame-item-slot.webp") 110 fill/14px/0 stretch;background:#0a0c0a;color:var(--xui-bone);cursor:pointer;transition:transform var(--xui-motion-fast) ease-out,filter var(--xui-motion-fast) ease-out}
.xui-more-item img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 6px 8px #000)}
.xui-more-item span{font:700 11px/1.2 var(--font-title);letter-spacing:.04em;text-align:center}
.xui-more-item:hover{transform:translateY(-2px);filter:brightness(1.15)}
.xui-more-item:active{transform:scale(.97)}

/* Immersive states */
body.xian-ui-v2 #combat-modal{padding:0!important;background:#030403!important}
body.xian-ui-v2 #combat-modal>.combat-modal-box{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:18px solid transparent!important;border-image:url("../assets/ui/frames/frame-panel.webp") 104 fill/18px/0 stretch!important;background:#050606 url("../assets/combat/pk_arena.webp") center/cover no-repeat!important;overflow:hidden!important}
body.xian-ui-v2 .combat-modal-box:before{background:rgba(2,3,3,.28)!important}
body.xian-ui-v2 .combat-modal-box:after{display:none!important}
body.xian-ui-v2 .combat-header{padding:22px 34px 8px!important}
body.xian-ui-v2 .combat-grid{grid-template-columns:minmax(250px,.9fr) minmax(260px,.72fr) minmax(250px,.9fr)!important;gap:10px!important;padding:4px 28px 6px!important}
body.xian-ui-v2 .combat-side{padding:8px 18px 12px!important;background:transparent!important}
body.xian-ui-v2 .combat-avatar.player-skin,body.xian-ui-v2 .combat-avatar.enemy-model{width:min(23vw,300px)!important;height:min(43vh,390px)!important}
body.xian-ui-v2 .combat-log-box{max-height:38vh;border:16px solid transparent!important;border-image:url("../assets/ui/frames/frame-tooltip.webp") 75 105 fill/16px!important;border-radius:0!important;background:#090a09!important;font-family:var(--font-body)!important}
body.xian-ui-v2 .combat-role-badge,body.xian-ui-v2 .combat-turn-pill{border-radius:0!important;background:#0a0b09!important;color:var(--xui-bone)!important;border-color:var(--xui-bronze)!important}
body.xian-ui-v2 .combat-actions{gap:5px!important;padding:4px 24px!important}
body.xian-ui-v2 .combat-action-btn{width:80px!important;height:80px!important;border:0!important;border-radius:0!important;background:transparent url("../assets/ui/frames/frame-skill-socket.webp") center/100% 100% no-repeat!important;box-shadow:none!important;padding:11px!important;overflow:visible!important}
body.xian-ui-v2 .combat-action-main{background:url("../assets/ui/icons/feature-skills.webp") center/contain no-repeat;font-size:0!important}
body.xian-ui-v2 .combat-action-main img{background:#090a09;border-radius:50%}
body.xian-ui-v2 .combat-action-badge{border-radius:0!important;background:var(--xui-cinnabar)!important;border:0!important}
body.xian-ui-v2 .combat-pill-row{padding:4px 28px 14px!important}
body.xian-ui-v2 #event-modal,body.xian-ui-v2 #kyngo-modal{background:#080908 url("../assets/maps/tien_duyen_dao.webp") center/cover no-repeat!important}
body.xian-ui-v2 #event-modal:before,body.xian-ui-v2 #kyngo-modal:before,body.xian-ui-v2 #death-screen:before{content:"";position:absolute;inset:0;background:rgba(2,3,3,.7)}
body.xian-ui-v2 #event-modal>.modal-box,body.xian-ui-v2 #kyngo-modal>.modal-box{width:min(680px,94vw)!important;text-align:left!important;background:#11120f url("../assets/ui/icons/feature-benefit.webp") right 22px top 40px/140px auto no-repeat!important}
body.xian-ui-v2 #ev-icon{display:none!important}
body.xian-ui-v2 #death-screen{background:#130706 url("../assets/maps/ma_vuc_mon.webp") center/cover no-repeat!important}
body.xian-ui-v2 #death-screen>*{position:relative;z-index:1}
body.xian-ui-v2.xui-has-screen .xui-nav,body.xian-ui-v2.xui-has-screen .xui-cultivation-orb{visibility:hidden;pointer-events:none}

@keyframes xui-panel-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes xui-reward-in{0%{opacity:0;transform:translateY(14px) scale(.9)}60%{opacity:1;transform:translateY(-2px) scale(1.03)}100%{transform:none}}
.xui-reward-pop{animation:xui-reward-in var(--xui-motion-reward) cubic-bezier(.16,1,.3,1) both}

/* Launcher: full-screen mountain gate + jade-slip authentication */
body.xian-launcher{min-height:100dvh;background:#050606 url("../assets/maps/dao_quan.webp") center/cover fixed no-repeat!important;overflow-x:hidden}
body.xian-launcher:before{content:"";position:fixed;inset:0;background:rgba(3,5,5,.56);z-index:0;pointer-events:none}
body.xian-launcher .page{position:relative;z-index:1;min-height:100dvh}
body.xian-launcher header,body.xian-launcher footer{background:rgba(5,6,6,.88)!important;backdrop-filter:none!important;border-color:rgba(158,125,70,.62)!important}
body.xian-launcher header{padding:14px clamp(18px,4vw,52px)!important}
body.xian-launcher .mark{width:48px!important;height:48px!important;border:0!important;border-radius:0!important;font-size:0;background:url("../assets/ui/icons/nav-cultivation.webp") center/contain no-repeat;box-shadow:none!important}
body.xian-launcher .brand h1{font-size:24px!important;color:var(--xui-bone);text-shadow:0 2px 0 #000}
body.xian-launcher .brand p,body.xian-launcher .server{color:#989183!important}
body.xian-launcher .server{border:12px solid transparent!important;border-image:url("../assets/ui/frames/frame-button.webp") 100 165 fill/12px 18px/0 stretch!important;border-radius:0!important;background:#0b0c0a!important;color:var(--xui-bone)!important}
body.xian-launcher main{width:min(1240px,calc(100vw - 32px))!important;min-height:calc(100dvh - 150px);padding:32px 0!important;grid-template-columns:minmax(0,1fr) minmax(380px,470px)!important;gap:44px!important;align-items:center!important}
body.xian-launcher .hero{min-height:620px!important;display:flex;flex-direction:column;justify-content:flex-end;padding:48px 36px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
body.xian-launcher .hero:before{display:none!important}
body.xian-launcher .hero h2{max-width:700px;font:700 clamp(42px,6vw,78px)/1.02 var(--font-title)!important;color:var(--xui-bone)!important;text-shadow:0 4px 18px #000!important}
body.xian-launcher .hero h2 span{color:#d1b76f!important}
body.xian-launcher .hero .lead{max-width:610px;color:#d1c8b5!important;font-size:15px!important;text-shadow:0 2px 6px #000}
body.xian-launcher .auth-card{position:relative;border:28px solid transparent!important;border-image:url("../assets/ui/frames/frame-panel.webp") 104 fill/28px/0 stretch!important;border-radius:0!important;background:#10120f!important;backdrop-filter:none!important;box-shadow:0 28px 70px rgba(0,0,0,.68)!important;padding:30px!important;max-height:calc(100dvh - 150px);overflow:auto}
body.xian-launcher .tabs{gap:2px!important}
body.xian-launcher .tab{min-height:48px;border:14px solid transparent!important;border-image:url("../assets/ui/frames/frame-tab.webp") 120 160 fill/14px/0 stretch!important;border-radius:0!important;background:#0b0c0a!important;color:#9c9689!important}
body.xian-launcher .tab.active{color:var(--xui-bone)!important;filter:brightness(1.16)}
body.xian-launcher .field label{color:#ada795!important}
body.xian-launcher .field input,body.xian-launcher .field textarea{min-height:48px;border:1px solid rgba(167,133,75,.55)!important;border-radius:1px!important;background:#080a08!important;color:var(--xui-bone)!important}
body.xian-launcher .field input:focus,body.xian-launcher .field textarea:focus{border-color:var(--xui-jade)!important;box-shadow:0 0 0 3px rgba(151,189,167,.12)!important}
body.xian-launcher .btn{min-height:48px;border:13px solid transparent!important;border-image:url("../assets/ui/frames/frame-button.webp") 95 165 fill/13px 20px/0 stretch!important;border-radius:0!important;background:#0b0c0a!important;color:var(--xui-bone)!important;box-shadow:none!important;transition:transform var(--xui-motion-fast) ease-out,filter var(--xui-motion-fast) ease-out}
body.xian-launcher .btn.primary{color:#f2e4bf!important;background:#10130e!important}
body.xian-launcher .btn:hover{transform:translateY(-1px);filter:brightness(1.16)}
body.xian-launcher .btn:active{transform:scale(.98)}
body.xian-launcher .account-head,body.xian-launcher .stat,body.xian-launcher .faction-panel,body.xian-launcher .chosen-faction{border-radius:1px!important;background:#0c0e0c!important;border-color:rgba(157,124,68,.42)!important}
body.xian-launcher .account-head strong,body.xian-launcher .faction-title b,body.xian-launcher .chosen-faction b{font-family:var(--font-title)!important;color:var(--xui-bone)!important}
body.xian-launcher .stat b{color:var(--xui-jade)!important}
body.xian-launcher .faction-grid{gap:8px!important}
body.xian-launcher .faction-card{min-height:104px;border:12px solid transparent!important;border-image:url("../assets/ui/frames/frame-item-slot.webp") 105 fill/12px/0 stretch!important;border-radius:0!important;background:#0a0c0a!important;color:var(--xui-bone)!important;transition:transform var(--xui-motion-fast) ease-out,filter var(--xui-motion-fast) ease-out}
body.xian-launcher .faction-card:hover{transform:translateY(-2px);filter:brightness(1.15);box-shadow:none!important}
body.xian-launcher .faction-card img{filter:saturate(.78) drop-shadow(0 5px 8px #000)!important}
body.xian-launcher .toast{border-radius:1px!important;background:#10120f!important;border-color:var(--xui-bronze)!important;border-left:4px solid var(--xui-cinnabar)!important}

@media(max-width:1080px){
  body.xian-ui-v2>header{height:56px!important;padding:8px 12px!important}
  body.xian-ui-v2>header h1{font-size:14px!important;letter-spacing:.12em!important}
  body.xian-ui-v2>header p,body.xian-ui-v2>header .header-actions{display:none!important}
  .xui-resource-dock{top:56px;left:0;right:0;transform:none;max-width:none;height:48px;justify-content:flex-start;gap:5px;padding:4px 8px;overflow-x:auto;background:#080a08;border-bottom:1px solid rgba(149,117,65,.5);pointer-events:auto}
  .xui-resource{height:40px;min-width:104px;grid-template-columns:24px auto;grid-template-rows:12px 15px;padding:3px 12px 3px 8px;border-width:10px;border-image-width:10px 14px}
  .xui-resource img{width:23px;height:23px}.xui-resource strong{font-size:13px}.xui-resource small{font-size:8px}
  .xui-resource[data-resource="qi"]{min-width:132px}
  body.xian-ui-v2>main{display:block!important;height:calc(100dvh - 190px)!important;margin-top:104px!important;overflow:hidden!important}
  body.xian-ui-v2>main>.left{position:fixed!important;z-index:58;left:8px;top:111px;width:148px;height:62px;border:0!important;background:#0b0d0b!important;box-shadow:0 8px 20px rgba(0,0,0,.55)}
  body.xian-ui-v2>main>.left:after{display:none}
  body.xian-ui-v2 #avatar-section{inset:0!important;min-height:0!important;height:62px!important;padding:5px 8px!important;display:block!important;background:#0b0d0b!important;overflow:hidden!important}
  body.xian-ui-v2 #avatar-section>.relative{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:7px;text-align:left!important}
  body.xian-ui-v2 #avatar-wrap{width:52px;height:52px;margin:0!important;grid-row:1/3}
  body.xian-ui-v2 #avatar-face{width:46px!important;height:46px!important}
  body.xian-ui-v2 #name-input{margin:2px 0 0!important;font-size:11px!important;text-align:left!important;width:82px!important}
  body.xian-ui-v2 #sidebar-title-badge{display:none!important}
  body.xian-ui-v2 .realm-rings-container,body.xian-ui-v2 .realm-rune{display:none!important}
  body.xian-ui-v2 .map-shell{display:block!important;width:100%!important;height:100%!important;min-height:0!important}
  body.xian-ui-v2 .map-shell>.absolute.top-4{top:74px!important;left:8px!important;right:8px!important;max-width:none!important;overflow-x:auto;flex-wrap:nowrap!important}
  body.xian-ui-v2 .map-toolbar{top:8px!important;left:164px!important;right:8px!important;max-width:none!important;overflow-x:auto;justify-content:flex-start!important}
  body.xian-ui-v2 .map-bottom-mini{margin:0 auto 4px;max-width:calc(100vw - 16px);padding:6px 12px!important}
  body.xian-ui-v2 .map-bottom-mini h2{font-size:14px!important}
  body.xian-ui-v2 .mini-info-actions{display:none!important}
  body.xian-ui-v2>main>.right{position:fixed!important;z-index:112!important;inset:104px 0 calc(86px + var(--xui-safe-bottom)) auto!important;width:min(340px,92vw)!important;transform:translateX(105%);transition:transform var(--xui-motion-panel) cubic-bezier(.16,1,.3,1);padding:26px 20px!important;display:block!important}
  body.xian-ui-v2.xui-quest-open>main>.right{transform:none}
  body.xian-ui-v2.xui-quest-open .xui-quest-toggle{right:min(340px,92vw);background-color:#c4b693;filter:sepia(.2) saturate(.7)}
  .xui-quest-toggle{display:block}
  .xui-nav{top:auto;left:0;right:0;bottom:0;width:auto;height:86px;padding:4px max(6px,var(--xui-safe-right)) calc(6px + var(--xui-safe-bottom)) max(6px,var(--xui-safe-left));display:flex;align-items:stretch;gap:2px;background:#070907;border-top:1px solid rgba(151,119,65,.58);box-shadow:0 -10px 26px rgba(0,0,0,.64)}
  .xui-nav-button{min-height:72px;min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0 2px;border:0!important;background:transparent!important;text-align:center}
  .xui-nav-button img{width:48px;height:48px;margin-bottom:-2px}
  .xui-nav-button span{font-size:9px;letter-spacing:.01em}
  .xui-cultivation-orb{display:none}
  .xui-more-backdrop{align-items:end}
  .xui-more-sheet{width:100%;max-height:calc(100dvh - 76px);border-width:18px;border-image-width:18px;padding:26px 16px calc(22px + var(--xui-safe-bottom));transform:translateY(22px)}
  .xui-more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .xui-more-item{min-height:104px;border-width:10px;border-image-width:10px;padding:6px 3px}
  .xui-more-item img{width:60px;height:60px}.xui-more-item span{font-size:9px}
  body.xian-ui-v2 .modal{padding:0!important;align-items:stretch!important;background:#060706!important}
  body.xian-ui-v2 .modal>.modal-box,body.xian-ui-v2 .modal>.combat-modal-box{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:12px solid transparent!important;border-image:url("../assets/ui/frames/frame-panel.webp") 104 fill/12px/0 stretch!important;padding:70px 14px calc(20px + var(--xui-safe-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain}
  body.xian-ui-v2 .modal h2{position:sticky;top:-70px;z-index:9;margin:-54px -2px 20px;padding:10px 54px 10px 8px;background:#0d0f0d;font-size:20px!important}
  body.xian-ui-v2 .modal .absolute.top-4.right-4{position:fixed!important;top:14px!important;right:14px!important}
  body.xian-ui-v2 #inv-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.xian-ui-v2 .combat-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:minmax(210px,1fr) auto!important;padding:0 6px!important;gap:2px!important}
  body.xian-ui-v2 .combat-side.player{grid-column:1!important;grid-row:1!important}
  body.xian-ui-v2 .combat-side.enemy{grid-column:2!important;grid-row:1!important}
  body.xian-ui-v2 .combat-log-wrap{grid-column:1/3!important;grid-row:2!important;position:relative;min-height:112px!important;max-height:132px!important;padding:0 8px!important}
  body.xian-ui-v2 .combat-side{min-height:0!important;padding:4px 8px 10px!important;overflow:visible!important}
  body.xian-ui-v2 .combat-avatar.player-skin,body.xian-ui-v2 .combat-avatar.enemy-model{width:42vw!important;height:min(31vh,250px)!important;margin-bottom:2px!important}
  body.xian-ui-v2 .combat-avatar.player-skin img,body.xian-ui-v2 .combat-avatar.enemy-model img{object-position:center bottom!important}
  body.xian-ui-v2 .combat-header{padding:12px 12px 4px!important;min-height:76px}
  body.xian-ui-v2 #combat-modal .combat-header h2{position:static!important;margin:0!important;padding:0!important;background:transparent!important;font-size:20px!important;line-height:1.05!important}
  body.xian-ui-v2 #combat-modal .combat-header h2:after{margin-top:5px!important}
  body.xian-ui-v2 .combat-role-badge{top:4px!important;left:4px!important;padding:4px 7px!important;font-size:8px!important}
  body.xian-ui-v2 .combat-side.enemy .combat-role-badge{left:auto!important;right:4px!important}
  body.xian-ui-v2 .combat-side>.font-title{font-size:13px!important;line-height:1.15!important;min-height:30px;display:grid;place-items:center}
  body.xian-ui-v2 .combat-hp{margin-top:7px!important;height:11px!important}
  body.xian-ui-v2 .combat-atb,body.xian-ui-v2 .combat-rage{margin-top:6px!important;height:7px!important}
  body.xian-ui-v2 .combat-rage-label,body.xian-ui-v2 .combat-statline{font-size:8px!important;margin-top:4px!important}
  body.xian-ui-v2 .combat-vs{position:absolute;left:50%;top:-32px;transform:translateX(-50%);font-size:25px!important;margin:0!important;z-index:4}
  body.xian-ui-v2 .combat-turn-pill{margin:0 auto 4px!important;padding:5px 9px!important;font-size:8px!important}
  body.xian-ui-v2 .combat-log-box{min-height:82px!important;max-height:96px!important;padding:10px 14px!important;font-size:9px!important;line-height:1.42!important}
  body.xian-ui-v2 .combat-actions{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;padding:4px 8px!important}
  body.xian-ui-v2 .combat-action-btn{flex:0 0 66px;width:66px!important;height:66px!important}
  body.xian-ui-v2 .combat-pill-row{display:none!important}
  body.xian-ui-v2 #combat-modal>.combat-modal-box{padding:0!important;border-width:8px!important}
  body.xian-launcher main{grid-template-columns:1fr!important;width:min(720px,calc(100vw - 22px))!important;gap:18px!important}
  body.xian-launcher .hero{min-height:auto!important;padding:36px 14px 0!important;text-align:center}
  body.xian-launcher .hero h2{font-size:clamp(38px,9vw,62px)!important}
  body.xian-launcher .hero .lead{margin-inline:auto}
  body.xian-launcher .auth-card{max-height:none}
}

@media(max-width:560px){
  body.xian-ui-v2>header h1{font-size:12px!important}body.xian-ui-v2>header h1 span{display:none}
  .xui-resource-dock{display:grid;grid-template-columns:minmax(126px,1.18fr) minmax(86px,.8fr) minmax(60px,.56fr) minmax(86px,.8fr);gap:3px;overflow:hidden}
  .xui-resource{width:100%;min-width:0!important;display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:1fr;align-items:center;column-gap:4px;padding:2px 7px 2px 5px;border-width:8px;border-image-width:8px 9px;overflow:hidden}
  .xui-resource img{grid-row:1;width:18px;height:18px}.xui-resource small{display:none}.xui-resource strong{grid-row:1;font-size:9px;overflow:hidden;text-overflow:ellipsis}
  .xui-resource-meter{display:none}
  .xui-resource[data-resource="karma"]{display:none}
  .xui-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.xian-ui-v2 .map-pill{font-size:8px!important;padding-inline:5px!important}
  body.xian-ui-v2 .map-node{width:44px;height:44px}
  body.xian-ui-v2 .map-shell>.absolute.top-4{display:none!important}
  body.xian-ui-v2 .map-toolbar{left:158px!important}
  body.xian-ui-v2 #inv-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.xian-launcher{height:100dvh;min-height:0;overflow:hidden}
  body.xian-launcher .page{height:100dvh;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr)}
  body.xian-launcher header{height:64px;align-items:center!important;flex-direction:row!important;padding:7px 14px!important}.xian-launcher .server{display:none}
  body.xian-launcher .mark{width:40px!important;height:40px!important}.xian-launcher .brand h1{font-size:19px!important}.xian-launcher .brand p{font-size:9px!important}
  body.xian-launcher main{height:calc(100dvh - 64px);min-height:0!important;padding:6px 0!important;gap:5px!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden}
  body.xian-launcher .hero{min-height:0!important;padding:8px 12px 5px!important;justify-content:center!important}
  body.xian-launcher .hero h2{font-size:34px!important;line-height:1!important}.xian-launcher .hero .lead{display:none!important}
  body.xian-launcher .auth-card{min-height:0;max-height:none;border-width:14px!important;border-image-width:14px!important;padding:12px 10px!important;overflow:auto}
  body.xian-launcher .account-head strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.xian-launcher footer{display:none!important}
  body.xian-launcher .faction-grid{grid-template-columns:1fr!important}
}

/* Concept rebuild: full-bleed world stage with layered navigation and quest scroll. */
@media(min-width:1081px){
  body.xian-ui-v2>header{height:74px!important;padding:10px 18px 10px 24px!important;background:rgba(5,6,6,.97)!important}
  body.xian-ui-v2>header>div:first-child{width:330px}
  body.xian-ui-v2>header h1{font-size:18px!important}
  body.xian-ui-v2>header .header-actions .btn{display:grid;place-items:center;width:48px!important;height:48px;padding:5px!important}
  body.xian-ui-v2>header .header-actions .btn img{width:30px;height:30px;object-fit:contain;filter:sepia(.14) saturate(.72)}

  .xui-resource-dock{top:11px;width:min(660px,52vw);max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .xui-resource{height:48px;min-width:0;grid-template-columns:28px minmax(0,1fr);grid-template-rows:13px 18px;padding:5px 14px 5px 10px;border-width:12px;border-image-width:12px 17px;column-gap:6px;overflow:hidden}
  .xui-resource img{width:26px;height:26px}
  .xui-resource strong{font-size:15px;overflow:hidden;text-overflow:ellipsis}
  .xui-resource[data-resource="qi"]{min-width:0}

  body.xian-ui-v2>main{display:block!important;height:calc(100dvh - 74px)!important;margin-top:74px!important;overflow:hidden!important;background:#050606!important}
  body.xian-ui-v2 .map-shell{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:1!important;background-size:100% 100%,100% 100%,100% 100%,100% 100%,cover!important;background-position:center!important}
  body.xian-ui-v2 .map-shell:after{box-shadow:inset 0 0 82px 22px rgba(2,3,3,.38),inset 0 0 0 1px rgba(174,139,79,.32)}
  body.xian-ui-v2 .ley-line{height:0!important;background:none!important;border-top:1px dashed rgba(229,207,153,.34);box-shadow:0 0 5px rgba(205,180,118,.22)}

  body.xian-ui-v2>main>.left{display:block!important;position:absolute!important;inset:0 auto 0 0!important;width:440px!important;height:100%!important;z-index:24!important;border:0!important;background:transparent!important;overflow:visible!important;pointer-events:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  body.xian-ui-v2>main>.left:after,body.xian-ui-v2 #avatar-section:before{display:none!important}
  body.xian-ui-v2 #avatar-section{inset:auto auto 0 0!important;width:440px!important;height:min(70%,590px)!important;min-height:360px!important;padding:0!important;display:block!important;background:transparent!important;overflow:visible!important;pointer-events:none}
  body.xian-ui-v2 #avatar-section>.relative{position:relative;width:100%;height:100%;text-align:left!important}
  body.xian-ui-v2 #avatar-wrap{position:absolute;left:-18px;bottom:54px;width:430px;height:calc(100% - 18px);max-height:530px;margin:0!important;z-index:1}
  body.xian-ui-v2 #avatar-face{width:100%!important;height:100%!important;background-position:left bottom!important;background-size:contain!important;filter:drop-shadow(16px 18px 18px rgba(0,0,0,.82))}
  body.xian-ui-v2 #name-input{position:absolute;left:38px;bottom:58px;z-index:4;width:330px!important;max-width:none!important;height:64px!important;margin:0!important;padding:13px 24px!important;text-align:center!important;font-size:18px!important;color:#27241d!important;text-shadow:none!important;background:#c7b996!important;border:15px solid transparent!important;border-image:url("../assets/ui/frames/frame-tooltip.webp") 72 98/15px 22px/0 stretch!important;pointer-events:auto}
  body.xian-ui-v2 #sidebar-title-badge{display:none!important}
  .xui-player-meta{position:absolute;left:72px;bottom:14px;z-index:5;width:262px;display:grid;grid-template-columns:1fr 104px;gap:8px;color:var(--xui-bone);text-align:left;pointer-events:none}
  .xui-player-meta>span{min-width:0;padding-left:10px;border-left:1px solid rgba(178,143,82,.55)}
  .xui-player-meta small{display:block;font:600 8px/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#9d9583}
  .xui-player-meta strong{display:block;margin-top:3px;font:700 13px/1.1 var(--font-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#d7bd78}

  .xui-nav{top:94px;left:16px;width:194px;gap:3px;z-index:86}
  .xui-nav-button{min-height:78px;grid-template-columns:58px minmax(0,1fr);gap:7px;padding:5px 14px 5px 6px;border-width:15px;border-image-width:15px 20px}
  .xui-nav-button img{width:52px;height:52px}
  .xui-nav-button span{font-size:12px;letter-spacing:.06em}

  body.xian-ui-v2 .map-toolbar{top:15px!important;left:242px!important;right:332px!important;max-width:none!important;justify-content:center!important;gap:2px!important}
  body.xian-ui-v2 .map-shell>.absolute.top-4{top:63px!important;left:242px!important;right:332px!important;max-width:none!important;justify-content:center!important}
  body.xian-ui-v2 .map-shell>.absolute.top-4>.tag:nth-child(2),body.xian-ui-v2 .map-shell>.absolute.top-4>.tag:nth-child(4),body.xian-ui-v2 .map-shell>.absolute.top-4>.tag:nth-child(5){display:none!important}
  body.xian-ui-v2.xui-quest-collapsed .map-toolbar,body.xian-ui-v2.xui-quest-collapsed .map-shell>.absolute.top-4{right:72px!important}
  body.xian-ui-v2 .map-pill{min-height:40px!important;padding-inline:14px!important}
  body.xian-ui-v2 .map-node{width:48px;height:48px}
  body.xian-ui-v2 .map-shell>.absolute.bottom-0{display:none!important}

  body.xian-ui-v2>main>.right{display:block!important;position:absolute!important;inset:16px 16px 84px auto!important;width:292px!important;height:auto!important;z-index:52!important;padding:28px 20px 22px!important;overflow-y:auto!important;overscroll-behavior:contain;transition:transform var(--xui-motion-panel) cubic-bezier(.16,1,.3,1),opacity var(--xui-motion-panel) ease-out!important;box-shadow:-16px 18px 34px rgba(0,0,0,.56),inset 0 0 46px rgba(71,51,25,.24)!important}
  body.xian-ui-v2.xui-quest-collapsed>main>.right{transform:translateX(calc(100% + 38px));opacity:0;pointer-events:none}
  .xui-quest-toggle{display:grid;place-items:center;top:92px;right:318px;width:48px;height:48px;border:10px solid transparent;border-image:url("../assets/ui/frames/frame-button.webp") 100 165 fill/10px 13px/0 stretch;background:#10120f url("../assets/ui/icons/feature-benefit.webp") center 7px/26px no-repeat;transition:right var(--xui-motion-panel) cubic-bezier(.16,1,.3,1),filter var(--xui-motion-fast) ease-out}
  .xui-quest-toggle span{display:block;padding-top:25px;font:700 7px/1 var(--font-title);letter-spacing:.04em;text-transform:uppercase;color:var(--xui-bone)}
  body.xian-ui-v2.xui-quest-collapsed .xui-quest-toggle{right:14px}

  body.xian-ui-v2>main>.right .home-dashboard{gap:12px;margin-bottom:18px}
  body.xian-ui-v2>main>.right .home-hero{padding:0 0 15px!important}
  body.xian-ui-v2>main>.right .home-title{font-size:17px!important;letter-spacing:.08em}
  body.xian-ui-v2>main>.right .home-agenda{display:grid!important;gap:8px;padding:12px 0!important;border:0!important;border-top:1px solid rgba(73,55,31,.28)!important;border-bottom:1px solid rgba(73,55,31,.28)!important;border-radius:0!important;background:transparent!important}
  body.xian-ui-v2>main>.right .home-agenda-head{color:#625a4d!important;font-family:var(--font-title);font-size:11px!important}
  body.xian-ui-v2>main>.right .home-task{grid-template-columns:22px minmax(0,1fr) auto;gap:7px;padding:8px 6px!important;border:1px solid rgba(78,59,34,.22)!important;border-radius:1px!important;background:rgba(247,236,209,.24)!important}
  body.xian-ui-v2>main>.right .home-task-index{width:22px;height:22px;border-radius:1px!important;border-color:rgba(73,55,31,.34)!important;color:#536b59!important}
  body.xian-ui-v2>main>.right .home-task b{color:#30291f!important;font-family:var(--font-title);font-size:10px!important}
  body.xian-ui-v2>main>.right .home-task small{color:#6a604f!important;font-size:9px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body.xian-ui-v2>main>.right .home-task .btn{min-width:44px!important;min-height:36px!important;padding:3px 6px!important;font-size:8px!important}
  .xui-cultivation-orb{left:50%;bottom:8px;width:136px;height:136px;transform:translateX(-50%)}
  .xui-cultivation-orb:hover{transform:translateX(-50%) translateY(-3px) scale(1.04)}
  .xui-cultivation-orb:active{transform:translateX(-50%) scale(.96)}
  .xui-cultivation-orb span{bottom:-1px;font-size:10px}
}

@media(max-width:1080px){
  body.xian-ui-v2>main{height:calc(100dvh - 180px)!important;margin-top:104px!important}
  body.xian-ui-v2>main>.left{display:none!important}
  body.xian-ui-v2 .map-shell{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-size:100% 100%,100% 100%,100% 100%,100% 100%,cover!important;background-position:center!important}
  body.xian-ui-v2 .map-shell>.absolute.top-4{display:none!important}
  body.xian-ui-v2 .map-toolbar{top:8px!important;left:8px!important;right:60px!important;max-width:none!important;justify-content:flex-start!important}
  body.xian-ui-v2>main>.right{inset:104px 0 calc(76px + var(--xui-safe-bottom)) auto!important}
  body.xian-ui-v2 .modal h2{padding-right:68px!important}
  body.xian-ui-v2>main>.right .home-agenda{display:grid!important;gap:8px;margin-top:4px;padding:12px 0!important;border:0!important;border-top:1px solid rgba(73,55,31,.28)!important;border-bottom:1px solid rgba(73,55,31,.28)!important;border-radius:0!important;background:transparent!important}
  body.xian-ui-v2>main>.right .home-agenda-head{color:#625a4d!important;font-family:var(--font-title);font-size:10px!important}
  body.xian-ui-v2>main>.right .home-task{grid-template-columns:22px minmax(0,1fr) auto;gap:7px;padding:8px 6px!important;border:1px solid rgba(78,59,34,.22)!important;border-radius:1px!important;background:rgba(247,236,209,.24)!important}
  body.xian-ui-v2>main>.right .home-task-index{width:22px;height:22px;border-radius:1px!important;border-color:rgba(73,55,31,.34)!important;color:#536b59!important}
  body.xian-ui-v2>main>.right .home-task b{color:#30291f!important;font-family:var(--font-title);font-size:10px!important}
  body.xian-ui-v2>main>.right .home-task small{color:#6a604f!important;font-size:9px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body.xian-ui-v2>main>.right .home-task .btn{min-width:44px!important;min-height:36px!important;padding:3px 6px!important;font-size:8px!important}
  .xui-quest-toggle{top:112px;right:8px;width:44px;height:44px;background-size:32px}
  .xui-quest-toggle span{display:none}
  .xui-nav{height:76px;padding-top:2px}
  .xui-nav-button{min-height:64px}
  .xui-nav-button img{width:40px;height:40px;margin-bottom:-1px}
  .xui-cultivation-orb{display:none}
}

@media(max-width:560px){
  .xui-resource-dock{grid-template-columns:1.05fr 1fr 1.18fr .78fr}
  .xui-resource[data-resource="karma"]{display:grid}
  .xui-resource strong{font-size:9px}
  body.xian-ui-v2 .map-toolbar{left:6px!important;right:56px!important}
  body.xian-ui-v2 .map-pill{min-width:max-content}
}

body.xian-ui-v2 .map-pill{min-height:44px!important}
body.xian-ui-v2>main>.right .home-task .btn{min-height:44px!important}
body.xian-ui-v2 .modal .absolute.top-4.right-4,body.xian-ui-v2 .xui-close{width:58px!important;min-width:58px!important;height:46px!important;font-size:10px!important}

/* ===== Concept pass 3: art direction cho MỌI modal thường ===== */
/* Trừ các màn immersive tự style riêng: combat / event / kỳ ngộ (death-screen không phải .modal) */
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .txt-cyan{color:var(--xui-jade)!important}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .txt-purple{color:#b9a8d8!important}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .txt-red{color:var(--xui-cinnabar)!important}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .txt-green{color:var(--xui-success)!important}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .text-gray-500,
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .text-gray-400{color:var(--xui-muted)!important}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .text-white{color:var(--xui-bone)!important}

/* Nút: plaque đồng vát nhẹ, bỏ neon */
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .btn{
  border-radius:2px!important;
  border:1px solid rgba(141,112,64,.5)!important;
  background:linear-gradient(180deg,#191b14 0%,#0f110c 100%)!important;
  color:var(--xui-bone)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .btn-cyan{
  border-color:rgba(168,200,181,.45)!important;color:var(--xui-jade)!important;
  background:linear-gradient(180deg,#1c231c 0%,#121712 100%)!important;
}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .btn-gold{
  border-color:rgba(216,191,123,.55)!important;color:var(--xui-gold)!important;
  background:linear-gradient(180deg,#3a2f1a 0%,#241d10 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,235,190,.12)!important;
}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .btn-red{
  border-color:rgba(163,59,47,.6)!important;color:#e0a294!important;
  background:linear-gradient(180deg,#2c1512 0%,#1a0d0b 100%)!important;
}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .btn:hover{filter:brightness(1.18)}

/* Tag: thẻ triện chữ nhật thay viên thuốc */
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .tag{
  border-radius:1px!important;
  border:1px solid rgba(141,112,64,.4)!important;
  background:rgba(10,11,9,.8)!important;
  color:var(--xui-bone)!important;letter-spacing:.06em;
}

/* Bo tròn web-app -> vát cổ vật */
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .rounded-2xl,
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .rounded-xl{border-radius:2px!important}
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) .rounded-lg{border-radius:2px!important}

/* Input/select: mực tối + viền đồng */
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) input[type="text"],
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) input[type="number"],
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) select,
body.xian-ui-v2 .modal:not(#combat-modal):not(#event-modal):not(#kyngo-modal) textarea{
  background:#0b0c0a!important;border:1px solid rgba(141,112,64,.45)!important;
  border-radius:1px!important;color:var(--xui-bone)!important;
}

/* Header top: tag tài nguyên cũ trong header đồng bộ luôn */
body.xian-ui-v2>header .tag{
  border-radius:1px!important;border:1px solid rgba(141,112,64,.4)!important;
  background:rgba(10,11,9,.8)!important;color:var(--xui-bone)!important;
}
body.xian-ui-v2>header .txt-cyan{color:var(--xui-jade)!important}
body.xian-ui-v2>header .txt-gold{color:var(--xui-gold)!important}

/* ===== Concept pass 2b: reskin màn Bản Thân / Trang Bị / NPC theo art direction ===== */
/* Scoped 3 modal — không retint toàn cục để không phá combat/màn khác */
#character-modal, #gear-modal, #npc-modal { --acc: var(--xui-gold); }

/* Thẻ chỉ số: lụa tối + viền đồng đôi + góc chạm */
body.xian-ui-v2 #character-modal .v8-card,
body.xian-ui-v2 #gear-modal .gear-card,
body.xian-ui-v2 #npc-modal .v8-card{
  border-radius:2px!important;
  background:linear-gradient(168deg, #131511 0%, #0c0e0b 62%, #0a0b09 100%)!important;
  border:1px solid rgba(141,112,64,.5)!important;
  box-shadow:inset 0 0 0 1px rgba(5,6,6,.9), inset 0 0 0 2px rgba(197,166,106,.14), 0 10px 24px rgba(0,0,0,.45)!important;
  position:relative;
}
body.xian-ui-v2 #character-modal .v8-card:before,
body.xian-ui-v2 #npc-modal .v8-card:before{ /* hoa văn góc */
  content:"";position:absolute;inset:5px;pointer-events:none;
  background:
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) left top/10px 1px,
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) left top/1px 10px,
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) right top/10px 1px,
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) right top/1px 10px,
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) left bottom/10px 1px,
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) left bottom/1px 10px,
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) right bottom/10px 1px,
    linear-gradient(var(--xui-bronze-hi),var(--xui-bronze-hi)) right bottom/1px 10px;
  background-repeat:no-repeat;opacity:.55;
}

/* Hàng chỉ số: nhãn muted + số serif; thoát neon */
body.xian-ui-v2 #character-modal .v8-stat{border-bottom:1px solid rgba(141,112,64,.16)!important;font-size:13px}
body.xian-ui-v2 #character-modal .v8-stat span{color:var(--xui-muted)!important;letter-spacing:.05em;text-transform:uppercase;font-size:10px}
body.xian-ui-v2 #character-modal .v8-stat b{font-family:var(--font-title);font-size:15px}
#character-modal .txt-cyan, #gear-modal .txt-cyan, #npc-modal .txt-cyan{color:var(--xui-jade)!important}
#character-modal .txt-purple, #gear-modal .txt-purple, #npc-modal .txt-purple{color:#b9a8d8!important}
#character-modal .txt-red, #gear-modal .txt-red, #npc-modal .txt-red{color:var(--xui-cinnabar)!important}
#character-modal .txt-green, #gear-modal .txt-green, #npc-modal .txt-green{color:var(--xui-success)!important}
#character-modal .txt-gold, #gear-modal .txt-gold, #npc-modal .txt-gold{color:var(--xui-gold)!important;text-shadow:0 0 10px rgba(216,191,123,.25)}
#character-modal .text-gray-500, #gear-modal .text-gray-500, #npc-modal .text-gray-500{color:var(--xui-muted)!important}
#character-modal .text-white, #npc-modal .text-white{color:var(--xui-bone)!important}

/* Nút trong 3 modal: plaque đồng, bỏ neon cyan */
body.xian-ui-v2 #character-modal .btn-cyan,
body.xian-ui-v2 #gear-modal .btn-cyan,
body.xian-ui-v2 #npc-modal .btn-cyan{
  background:linear-gradient(180deg,#22281f 0%,#151812 100%)!important;
  border:1px solid rgba(168,200,181,.4)!important;color:var(--xui-jade)!important;
  border-radius:2px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
body.xian-ui-v2 #character-modal .btn-gold,
body.xian-ui-v2 #gear-modal .btn-gold,
body.xian-ui-v2 #npc-modal .btn-gold{
  background:linear-gradient(180deg,#3a2f1a 0%,#241d10 100%)!important;
  border:1px solid rgba(216,191,123,.55)!important;color:var(--xui-gold)!important;
  border-radius:2px!important;box-shadow:inset 0 1px 0 rgba(255,235,190,.12)!important;
}

/* Skin card: bài vị gỗ */
body.xian-ui-v2 #character-modal .skin-card{
  border-radius:2px!important;border:1px solid rgba(141,112,64,.45)!important;
  background:linear-gradient(180deg,#14160f, #0b0c09)!important;
  box-shadow:inset 0 0 0 2px rgba(197,166,106,.1), 0 12px 26px rgba(0,0,0,.4)!important;
}
body.xian-ui-v2 #character-modal .skin-card.active{border-color:var(--xui-gold)!important;box-shadow:0 0 18px rgba(216,191,123,.28), inset 0 0 0 2px rgba(216,191,123,.3)!important}

/* Trang bị: ô active jade thay cyan */
body.xian-ui-v2 #gear-modal .gear-card.active{
  border-color:rgba(168,200,181,.6)!important;
  box-shadow:0 0 16px rgba(168,200,181,.16), inset 0 0 0 2px rgba(168,200,181,.18)!important;
}

/* ===== Concept pass 2: node triện 3 trạng thái, cuộn giấy treo, quick-nav ===== */

/* --- Node bản đồ: vành triện + chip trạng thái --- */
body.xian-ui-v2 .map-node{
  border-width:2px;
  background:
    radial-gradient(circle at 50% 42%, #131510 0%, #07080a 68%, #04050a 100%);
}
body.xian-ui-v2 .map-node:after{ /* vành triện ngoài: khắc vạch mảnh */
  content:"";position:absolute;inset:-7px;border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(from 0deg, currentColor 0deg 3deg, transparent 3deg 18deg);
  opacity:.5;
  -webkit-mask:radial-gradient(circle, transparent 58%, #000 60%, #000 72%, transparent 74%);
          mask:radial-gradient(circle, transparent 58%, #000 60%, #000 72%, transparent 74%);
}
body.xian-ui-v2 .map-node.is-known{border-color:var(--xui-jade)!important;color:var(--xui-jade);box-shadow:0 0 14px rgba(168,200,181,.28)!important}
body.xian-ui-v2 .map-node.is-current{border-color:var(--xui-gold)!important;color:var(--xui-gold);box-shadow:0 0 22px rgba(216,191,123,.5)!important}
body.xian-ui-v2 .map-node.is-new{border-color:rgba(231,221,199,.5)!important;color:rgba(231,221,199,.6)}
body.xian-ui-v2 .map-node.locked{
  opacity:.62;filter:grayscale(.55);border-style:solid;
  border-color:#4a4a44!important;color:#6a6a60;box-shadow:none!important;
}
body.xian-ui-v2 .map-node.locked:before{ /* thay 🔒 nổi góc bằng khoá chìm giữa triện */
  content:"🔒";position:absolute;inset:0;top:auto;right:auto;
  display:grid;place-items:center;font-size:14px;filter:grayscale(1) brightness(.9);
}
body.xian-ui-v2 .map-node.locked .node-dot{opacity:0}
body.xian-ui-v2 .node-label{
  top:calc(100% + 9px);font-family:var(--font-title);font-size:10px;
  letter-spacing:.1em;color:var(--xui-bone);
  padding:2px 8px;background:rgba(5,6,6,.78);
  border:1px solid rgba(141,112,64,.5);border-radius:1px;
  box-shadow:0 2px 8px rgba(0,0,0,.6);
}
body.xian-ui-v2 .node-chip{
  position:absolute;top:calc(100% + 30px);left:50%;transform:translateX(-50%);
  min-width:max-content;padding:1px 7px;pointer-events:none;
  font:700 7px/1.6 var(--font-body);letter-spacing:.12em;text-transform:uppercase;
  background:rgba(5,6,6,.82);border:1px solid rgba(141,112,64,.34);border-radius:1px;
}
body.xian-ui-v2 .node-chip.chip-known{color:var(--xui-jade)}
body.xian-ui-v2 .node-chip.chip-cur{color:var(--xui-gold);border-color:rgba(216,191,123,.5);text-shadow:0 0 8px rgba(216,191,123,.55)}
body.xian-ui-v2 .node-chip.chip-new{color:#a89e8a}
body.xian-ui-v2 .node-chip.chip-lock{color:#8f8f85}
body.xian-ui-v2 .map-node.hidden-region .node-chip{display:none}
@media(max-width:1080px){
  body.xian-ui-v2 .node-chip{display:none} /* mobile: chật, chỉ giữ label */
  body.xian-ui-v2 .node-label{font-size:8px;top:calc(100% + 6px)}
}

/* --- Cuộn giấy nhiệm vụ: trục gỗ + tua rua + ngọc treo --- */
@media(min-width:1081px){
  body.xian-ui-v2>main>.right{
    border-radius:2px;
    background:
      linear-gradient(180deg, rgba(63,44,24,.20), rgba(63,44,24,0) 34px),
      linear-gradient(0deg, rgba(63,44,24,.20), rgba(63,44,24,0) 34px),
      linear-gradient(173deg, #cfc0a1 0%, #c4b391 46%, #b9a67f 100%)!important;
  }
  body.xian-ui-v2>main>.right:before{ /* trục gỗ trên */
    content:"";position:sticky;top:-28px;z-index:6;display:block;
    height:16px;margin:-28px -20px 14px;
    background:linear-gradient(180deg,#6b4a26 0%,#8a6335 38%,#4c3115 100%);
    border-radius:8px;box-shadow:0 3px 8px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,225,170,.28);
  }
  body.xian-ui-v2>main>.right:after{ /* trục gỗ dưới + bóng */
    content:"";display:block;height:16px;margin:16px -20px -22px;
    background:linear-gradient(180deg,#8a6335 0%,#6b4a26 52%,#3d2812 100%);
    border-radius:8px;box-shadow:0 6px 12px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,225,170,.24);
  }
  .xui-scroll-tassel{ /* dây + ngọc treo dưới cuộn (JS gắn) */
    position:fixed;z-index:51;right:calc(16px + 146px);top:auto;pointer-events:none;
    width:2px;height:34px;background:linear-gradient(180deg,#7d5a2e,#a3814a);
    transform:translateX(50%);
  }
  .xui-scroll-tassel:after{
    content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);
    width:14px;height:20px;border-radius:45% 45% 50% 50%;
    background:radial-gradient(circle at 38% 30%, #cfe6d6 0%, #7fa98e 42%, #46705a 100%);
    box-shadow:0 2px 6px rgba(0,0,0,.55), inset 0 1px 2px rgba(255,255,255,.35);
  }
  body.xian-ui-v2.xui-quest-collapsed .xui-scroll-tassel{display:none}
}

/* --- Ley-line: tuyến vàng qua node hiện tại --- */
body.xian-ui-v2 .ley-line.ley-active{
  border-top:1px dashed rgba(226,196,124,.92)!important;
  box-shadow:0 0 9px rgba(216,191,123,.5), 0 0 2px rgba(216,191,123,.8)!important;
  z-index:6;
}
body.xian-ui-v2 .ley-line:not(.ley-active){
  border-top-color:rgba(231,221,199,.2);box-shadow:none;
}

/* --- Logo header: triện son + tựa serif xương --- */
.xui-logo-seal{
  display:grid;place-items:center;width:40px;height:40px;flex:none;
  font:900 22px/1 var(--font-title);color:#f0e2c8;
  background:linear-gradient(160deg,#b24435 0%,#8f2f24 55%,#6e2118 100%);
  border:1px solid rgba(255,205,160,.4);border-radius:2px;
  box-shadow:inset 0 0 0 2px rgba(60,12,8,.55), inset 0 0 10px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.6);
  text-shadow:0 1px 2px rgba(50,8,5,.8);
}
.xui-logo-title{color:var(--xui-bone);text-shadow:0 0 14px rgba(216,191,123,.28), 0 2px 4px rgba(0,0,0,.8)}
.xui-logo-sub{color:#9d9583}

/* --- Quick-nav 4 plaque dưới-phải --- */
.xui-quicknav{
  position:fixed;right:16px;bottom:10px;z-index:60;
  display:grid;grid-template-columns:repeat(4,64px);gap:6px;
}
.xui-quicknav button{
  display:grid;place-items:center;gap:1px;height:64px;padding:4px 2px 3px;
  border:12px solid transparent;
  border-image:url("../assets/ui/frames/frame-button.webp") 100 165 fill/12px 15px/0 stretch;
  background:transparent;cursor:pointer;
  transition:filter var(--xui-motion-fast) ease-out, transform var(--xui-motion-fast) ease-out;
}
.xui-quicknav button:hover{filter:brightness(1.22);transform:translateY(-2px)}
.xui-quicknav button:active{transform:scale(.95)}
.xui-quicknav img{width:30px;height:30px;object-fit:contain}
.xui-quicknav span{
  font:700 7px/1 var(--font-title);letter-spacing:.08em;text-transform:uppercase;
  color:var(--xui-bone);white-space:nowrap;
}
@media(max-width:1080px){ .xui-quicknav{display:none} } /* mobile đã có xui-nav ngang */

@media(prefers-reduced-motion:reduce){
  .xian-ui-v2 *,.xian-ui-v2 *:before,.xian-ui-v2 *:after,.xian-launcher *,.xian-launcher *:before,.xian-launcher *:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}
}
