:root{--gold:#d8aa42;--gold2:#f4d47b;--dark:#080b0e;--nav:#0a1119;--panel:#171a1e;--panel2:#202329;--line:#4a4640;--text:#eeeae2;--muted:#aaa49b;--green:#72c983;--red:#cf665d}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#111419;color:var(--text);font:13px Tahoma,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(180deg,#08131e,#080d13 65%,#05080b);border-right:1px solid #4b402d;padding:21px 19px;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding-bottom:7px;border-bottom:1px solid #342f27}.sigil{width:38px;height:38px;display:grid;place-items:center;border:1px solid #99783b;background:linear-gradient(145deg,#4d463b,#111);color:var(--gold2);font:bold 22px Georgia;box-shadow:inset 0 0 10px #000}.brand b{display:block;font:18px Georgia;letter-spacing:1px}.brand small{display:block;color:var(--gold);font-size:9px;margin-top:2px}.realm-name{text-align:center;color:#70cc73;font-size:10px;margin:7px 0 25px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;border-left:2px solid transparent;background:transparent;color:#b9bdc1;text-align:left;padding:12px 10px;font:12px Tahoma;cursor:pointer}.nav-item i{display:inline-grid;place-items:center;width:18px;color:#948a78;font-style:normal}.nav-item:hover,.nav-item.active{color:var(--gold2);background:linear-gradient(90deg,#31291a99,transparent);border-left-color:var(--gold)}.server-mini{position:absolute;left:19px;right:19px;bottom:72px;border:1px solid #3b3d3f;background:#101419;padding:11px;display:flex;align-items:center;gap:9px}.server-mini>span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.server-mini b,.server-mini small{display:block;font-size:10px}.server-mini small{color:#777f85;margin-top:2px}.sidebar-foot{position:absolute;bottom:22px;left:19px;color:#827b70;font-size:9px;line-height:1.5}.shell{margin-left:230px;min-height:100vh;background:radial-gradient(circle at 55% 0,#2b2924 0,#15181d 37%,#101318 75%)}.topbar{height:64px;background:#0e1115e8;border-bottom:1px solid #53472f;display:flex;align-items:center;padding:0 25px;gap:17px}.menu-button{border:0;background:none;color:#aaa;font-size:20px}.top-title{font:14px Georgia;color:#d5cbb8;letter-spacing:1px}.license{margin-left:auto;display:flex;align-items:center;gap:7px;border:1px solid #514833;background:#17140f;padding:7px 10px;font-size:9px;color:#b8ae9d}.license span{width:7px;height:7px;border-radius:50%;background:var(--gold)}.license.valid{border-color:#365d42;color:#a9d8b5}.license.valid span{background:var(--green)}.license.invalid{border-color:#723c37;color:#e29b94}.license.invalid span{background:var(--red)}.workspace{max-width:1100px;margin:0 auto;padding:20px;display:grid;grid-template-columns:minmax(540px,1fr) 235px;gap:16px}.main-column{display:grid;gap:14px;align-content:start}.mu-panel{background:linear-gradient(#202329,#14171a);border:1px solid #504c46;box-shadow:0 8px 26px #0007;outline:1px solid #12100c;outline-offset:3px}.panel-title{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #665737;background:linear-gradient(#25272a,#111315);color:var(--gold2);font:11px Georgia;letter-spacing:.6px}.panel-title small{color:#77736c;font:8px Tahoma}.auth-panel{min-height:305px}.page-form{display:none;padding:21px 38px 25px}.page-form.active{display:block}.page-form.locked{display:none}.page-form h2{margin:0 0 5px;text-align:center;color:var(--gold2);font:23px Georgia}.page-form>p{text-align:center;color:#948f87;font-size:10px;margin:0 0 20px}.page-form label,.captcha{display:grid;grid-template-columns:115px 1fr;align-items:center;margin:10px 0;color:#c8c1b6;font-weight:bold;font-size:11px}.page-form label>span,.captcha>span{text-align:right;padding-right:13px}.page-form input:not([type=checkbox]){height:35px;background:#0b0d10;border:1px solid #484a4c;color:#eee;padding:0 11px;outline:0}.page-form input:focus{border-color:#a88748}.captcha{grid-template-columns:115px 175px 90px;gap:8px}.captcha b{height:35px;display:grid;place-items:center;background:repeating-linear-gradient(12deg,#302b25 0,#302b25 2px,#191b1f 3px,#191b1f 6px);border:1px solid #625a4b;color:#d9bb7c;letter-spacing:6px;font:italic 17px Georgia}.terms{display:flex!important;justify-content:center!important;gap:7px;font-weight:normal!important}.mu-button{display:block;width:calc(100% - 115px);margin:20px 0 0 115px;height:36px;border:1px solid #c39b4a;background:linear-gradient(#8a6930,#4d381a);box-shadow:inset 0 1px #e0c27f;color:white;font-weight:bold;cursor:pointer}.form-message{min-height:16px;margin:9px 0 0 115px;color:#e2c271;font-size:10px}.form-message.error{color:#e3756c}.blocked{display:none;text-align:center;padding:70px 20px;color:#d97b73}.blocked p{color:#99938b}.news-tabs{display:flex;padding:0 12px;border-bottom:1px solid #383838}.news-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 13px;color:#aaa39a;cursor:pointer}.news-tabs button.active{color:var(--gold2);border-bottom-color:var(--gold)}.news-list{padding:6px 12px 12px}.news-list a{display:grid;grid-template-columns:80px 1fr 82px;align-items:center;min-height:34px;border-bottom:1px solid #303135;color:#bab5ad;font-size:10px}.news-list em{font-style:normal;color:#d6ac50;border:1px solid #65532e;padding:3px 5px;width:max-content}.news-list time{text-align:right;color:#777}.right-column{display:grid;gap:13px;align-content:start}.quick-panel a{display:block;padding:11px 13px;border-bottom:1px solid #353638;color:#bdb7ae;font-size:10px}.quick-panel a:hover{color:var(--gold2);background:#272116}.download{height:39px;border:1px solid #af8b43;background:linear-gradient(#32291b,#181611);color:var(--gold2);font-weight:bold}.status-panel>div:not(.panel-title){display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #343537;color:#aaa49c;font-size:10px}.status-panel b{color:var(--green)}footer{text-align:center;padding:24px;color:#68645e;font-size:9px}@media(max-width:850px){.sidebar{position:static;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.server-mini,.sidebar-foot{display:none}.shell{margin-left:0}.workspace{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.quick-panel{grid-row:span 2}}@media(max-width:580px){.workspace{padding:10px}.page-form{padding:18px 15px}.page-form label,.captcha{grid-template-columns:1fr}.page-form label>span,.captcha>span{text-align:left;padding:0 0 5px}.captcha{grid-template-columns:1fr 90px}.captcha>span{grid-column:1/-1}.mu-button{width:100%;margin-left:0}.form-message{margin-left:0}.right-column{grid-template-columns:1fr}.top-title{display:none}}
:root{--mu-banner:url('assets/mu-banner.png')}body:before{content:"";position:fixed;inset:0 0 0 230px;background:linear-gradient(#141a21,#1a2027);z-index:-1}.shell{background:transparent!important}.hero-banner,.side-banner{position:relative;display:flex;align-items:flex-end;overflow:hidden;border:1px solid #665638;box-shadow:0 8px 26px #000b;text-decoration:none;background-image:linear-gradient(90deg,#02040722,#020407c8),var(--mu-banner);background-repeat:no-repeat}.hero-banner{height:118px;background-size:auto 330%;background-position:left center;padding:18px 22px}.hero-banner:after,.side-banner:after{content:"";position:absolute;inset:5px;border:1px solid #c0994938;pointer-events:none}.hero-banner span,.side-banner span{position:relative;z-index:1;text-shadow:0 2px 5px #000}.hero-banner b,.hero-banner small,.side-banner b,.side-banner small{display:block}.hero-banner b{color:var(--gold2);font:21px Georgia;letter-spacing:1.5px}.hero-banner small{color:#d1cbc0;font-size:10px;margin-top:5px}.side-banner{height:116px;padding:13px;background-size:auto 330%;background-position:left center}.side-banner b{color:var(--gold2);font:12px Georgia}.side-banner small{color:#c0b9ae;font-size:9px;margin-top:4px}@media(max-width:850px){body:before{inset:0}}
:root{--mu-banner:url('assets/mu-banner.png')}
:root{--gold:#e0b44f;--gold2:#ffe092;--panel:#22262b;--panel2:#2a2e34;--text:#fffaf0;--muted:#bbb4aa}.sidebar{background:linear-gradient(180deg,#102233,#0b1722 65%,#070d13)}.topbar{background:#171a1edb}.mu-panel{background:linear-gradient(#2b2f35ee,#1a1d21f2);border-color:#71695e}.panel-title{background:linear-gradient(#34373c,#1b1d21);border-bottom-color:#8a7140}.page-form input:not([type=checkbox]){background:#15181c;border-color:#5c5d5f}.hero-banner,.side-banner{background-image:linear-gradient(90deg,#02040705,#0204078f),var(--mu-banner)}body:before{background:linear-gradient(#0a0d107d,#151a20d9),var(--mu-banner) center top/cover no-repeat}.workspace:before{content:"";position:fixed;inset:64px 0 0 230px;background:radial-gradient(circle at 50% 12%,#d19a3b20,transparent 48%);pointer-events:none;z-index:-1}.news-list a,.quick-panel a{color:#d0c9be}.license{background:#242018}.auth-panel,.news-panel,.quick-panel,.status-panel{backdrop-filter:blur(2px)}@media(max-width:850px){.workspace:before{inset:64px 0 0}}
:root{--gold:#e9bd55;--gold2:#ffe7a5}.shell{background:#1a2027!important}body:before{filter:brightness(1.3) saturate(1.12);background:linear-gradient(#10182045,#1a2027a8),var(--mu-banner) center top/cover no-repeat}.workspace:before{background:radial-gradient(circle at 50% 10%,#e5b45936,transparent 55%)}.hero-banner,.side-banner{filter:brightness(1.14) saturate(1.08);background-image:linear-gradient(90deg,#02040700,#02040762),var(--mu-banner)}.mu-panel{background:linear-gradient(#343940e8,#20252be8)}.topbar{background:#1d2228e8}.sidebar{background:linear-gradient(180deg,#163149,#102435 65%,#0b1721)}
:root{--steel:#7892a7;--steel-light:#b9d3e4}.right-column .mu-panel{background:linear-gradient(145deg,#263747ee,#17232eee);border-color:#607589;outline-color:#101923}.right-column .panel-title{background:linear-gradient(#385066,#1b2b39);border-bottom-color:#7892a7;color:#e4edf3}.right-column .quick-panel a{color:#cbd7df;border-bottom-color:#425565}.right-column .quick-panel a:hover{color:#fff;background:#344d60}.right-column .status-panel>div:not(.panel-title){color:#c7d2d9;border-bottom-color:#425565}.right-column .status-panel b{color:#8de2a3}.side-banner{border-color:#708a9e;box-shadow:0 8px 26px #0009,0 0 18px #4c79902b}.side-banner:after{border-color:#b5cfdf4f}.side-banner b{color:#e8f1f6}.download{border-color:#7892a7;background:linear-gradient(#3d5a70,#203443);color:#eef6fa;box-shadow:inset 0 1px #9eb4c4}
:root{--sidebar-steel:#1a2a37}.sidebar{background:linear-gradient(180deg,#294258,#1a2d3d 62%,#111e29);border-right-color:#6d879b;box-shadow:8px 0 28px #0007}.brand{border-bottom-color:#52697b}.sigil{border-color:#809bad;background:linear-gradient(145deg,#4c6578,#172633);box-shadow:inset 0 0 10px #081018}.realm-name{color:#8de2a3}.nav-item{color:#c7d3dc}.nav-item i{color:#91a9ba}.nav-item:hover,.nav-item.active{color:#fff;background:linear-gradient(90deg,#3e5c7299,transparent);border-left-color:#9cb8ca}.server-mini{border-color:#597286;background:#192a37}.sidebar-foot{color:#8ea0ad}
@media(min-width:1500px){.sidebar{width:260px;padding:27px 24px}.shell{margin-left:260px}.workspace{max-width:1380px;padding:28px 34px;grid-template-columns:minmax(720px,1fr) 300px;gap:22px}.topbar{height:72px;padding:0 32px}.top-title{font-size:16px}.brand b{font-size:21px}.brand small,.realm-name{font-size:10px}.nav-item{padding:15px 12px;font-size:13px}.server-mini{left:24px;right:24px}.hero-banner{height:145px;padding:23px 28px}.hero-banner b{font-size:27px}.hero-banner small{font-size:12px}.side-banner{height:145px;padding:17px}.side-banner b{font-size:14px}.side-banner small{font-size:11px}.panel-title{height:47px;padding:0 17px;font-size:13px}.panel-title small{font-size:9px}.auth-panel{min-height:390px}.page-form{padding:28px 55px 34px}.page-form h2{font-size:29px}.page-form>p{font-size:12px;margin-bottom:27px}.page-form label,.captcha{grid-template-columns:145px 1fr;margin:13px 0;font-size:13px}.page-form input:not([type=checkbox]){height:43px;font-size:13px}.captcha{grid-template-columns:145px 230px 115px}.captcha b{height:43px;font-size:20px}.mu-button{width:calc(100% - 145px);margin-left:145px;height:43px;font-size:13px}.form-message{margin-left:145px;font-size:12px}.news-tabs button{padding:15px 17px;font-size:13px}.news-list a{grid-template-columns:100px 1fr 100px;min-height:43px;font-size:12px}.quick-panel a{padding:14px 16px;font-size:12px}.download{height:46px;font-size:13px}.status-panel>div:not(.panel-title){padding:14px 16px;font-size:12px}footer{font-size:11px;padding:30px}}
@media(min-width:1900px){.workspace{max-width:1540px;grid-template-columns:minmax(820px,1fr) 330px}.sidebar{width:280px}.shell{margin-left:280px}.hero-banner,.side-banner{height:158px}.auth-panel{min-height:420px}.page-form{padding-left:70px;padding-right:70px}}
.captcha button{height:35px;border:1px solid #625a4b;background:repeating-linear-gradient(12deg,#302b25 0,#302b25 2px,#191b1f 3px,#191b1f 6px);color:#d9bb7c;letter-spacing:4px;font:italic 15px Georgia;cursor:pointer}.captcha button:hover{border-color:#b58c43;color:#fff0bd}.page-form button:disabled,.page-form input:disabled{opacity:.55;cursor:wait}@media(min-width:1500px){.captcha button{height:43px;font-size:18px}}

/* Font Unicode tieng Viet: tranh dau bi lech tren Georgia o co chu nho. */
html,body,button,input,select,textarea{font-family:"Segoe UI",Tahoma,Arial,sans-serif}
.brand b,.top-title,.panel-title,.page-form h2,.hero-banner b,.side-banner b{
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  font-weight:700;
}
.sigil{font-family:"Times New Roman",serif}
.hero-banner i{font-style:normal}.promotion-value{padding:17px;text-align:center}.promotion-value b{display:block;color:#ffe092;font-size:28px}.promotion-value span{display:block;color:#b8c3cb;margin-top:5px;font-size:10px}[hidden]{display:none!important}

/* Bo cuc 3 cot can doi: hai thanh ben bang nhau, noi dung chinh tu co gian. */
:root{--side-rail:clamp(220px,16vw,310px);--layout-gap:clamp(14px,1.25vw,26px)}
.sidebar{width:var(--side-rail);padding-left:clamp(18px,1.4vw,27px);padding-right:clamp(18px,1.4vw,27px)}
.shell{margin-left:var(--side-rail)}
.workspace{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(18px,1.7vw,34px);
  grid-template-columns:minmax(0,1fr) var(--side-rail);
  gap:var(--layout-gap);
}
.main-column{min-width:0;width:100%}
.right-column{width:100%;min-width:0}
body:before{left:var(--side-rail)}
.workspace:before{left:var(--side-rail)}

/* Sau đăng nhập chỉ giữ không gian thao tác chính, loại các khối quảng bá gây phân tâm. */
body.session-active #newsPanel{display:none!important}
body.session-active .main-column{gap:0}
body.session-active .auth-panel{min-height:0}
body.session-active .auth-panel>.panel-title{display:none}
body.session-active .game-admin-head{padding:11px 15px}
body.session-active .game-admin-head p{display:none}
body.session-active .game-admin-head h3{font-size:18px}

@media(min-width:1500px){
  .sidebar{width:var(--side-rail)}
  .shell{margin-left:var(--side-rail)}
  .workspace{max-width:none;grid-template-columns:minmax(0,1fr) var(--side-rail);gap:var(--layout-gap)}
}
@media(min-width:1900px){
  .sidebar{width:var(--side-rail)}
  .shell{margin-left:var(--side-rail)}
  .workspace{max-width:none;grid-template-columns:minmax(0,1fr) var(--side-rail)}
}
@media(max-width:980px){
  :root{--side-rail:100%}
  .sidebar{position:static;width:100%;height:auto}
  .sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .server-mini,.sidebar-foot{display:none}
  .shell{margin-left:0}
  .workspace{grid-template-columns:1fr}
  .right-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body:before,.workspace:before{left:0}
}
@media(max-width:620px){
  .sidebar nav,.right-column{grid-template-columns:1fr}
  .workspace{padding:10px}
}

/* Can bang tren man hinh lon: hai cot ben luon cung kich thuoc. */
@media(min-width:981px){
  :root{
    --side-rail:clamp(230px,17vw,460px);
    --layout-gap:clamp(16px,1.15vw,30px);
  }
  .workspace{
    min-height:calc(100vh - 64px);
    align-items:start;
  }
  .main-column,.right-column{min-width:0}
  .right-column{grid-template-columns:minmax(0,1fr)}
}

/* Man hinh 2K/4K: phong chu va thanh dieu khien tang theo do phan giai. */
@media(min-width:2200px){
  body{font-size:clamp(14px,.62vw,18px)}
  .topbar{height:clamp(72px,3.3vw,94px)}
  .workspace{padding:clamp(28px,1.45vw,48px)}
  .hero-banner,.side-banner{height:clamp(150px,7vw,205px)}
  .panel-title{height:clamp(46px,2.2vw,62px)}
  .page-form input:not([type=checkbox]),.captcha button{height:clamp(42px,2vw,54px)}
  .mu-button{height:clamp(42px,2vw,54px)}
  .quick-panel a,.status-panel>div:not(.panel-title){padding:clamp(14px,.8vw,21px)}
}

.download{display:grid;place-items:center;text-decoration:none;cursor:pointer}
.quick-panel #quickLinks a{display:block;text-decoration:none}.news-list a{text-decoration:none}
.hero-banner{background-image:linear-gradient(90deg,#02040700,#02040762),var(--hero-image,var(--mu-banner))!important}.side-banner{background-image:linear-gradient(90deg,#02040700,#02040762),var(--side-image,var(--mu-banner))!important}body:before{background:linear-gradient(#10182045,#1a2027a8),var(--background-image,var(--mu-banner)) center top/cover no-repeat!important}
.account-panel{min-height:302px;padding:38px;display:grid;grid-template-columns:86px 1fr 180px;align-items:center;gap:24px}
.account-panel.category-view{display:block;min-height:0;padding:0}.account-panel.category-view .portal-content{border-top:0;padding-top:0}.account-panel.category-view .portal-detail{min-height:0;margin-top:0}
.portal-nav{display:grid!important;gap:3px;margin-top:12px}.portal-nav[hidden]{display:none!important}.portal-item{padding:12px 16px;border:0;border-left:3px solid transparent;background:transparent;color:#d7dce1;text-align:left;cursor:pointer}.portal-item:hover,.portal-item.active{border-left-color:#d5a63d;background:#2c4b62;color:#ffe19a}.portal-item.admin{color:#9be7ae}
.portal-content{grid-column:1/-1;border-top:1px solid #4d4942;padding-top:18px}.profile-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.profile-stat{padding:12px;border:1px solid #4f5660;background:#151a20}.profile-stat small{display:block;color:#9da9b5}.profile-stat b{display:block;margin-top:5px;color:#ffe092;font-size:16px}.portal-detail{margin-top:12px}.character-table{width:100%;border-collapse:collapse;font-size:12px}.character-table th,.character-table td{padding:9px;border:1px solid #444c55;text-align:center}.character-table th{background:#243444;color:#ffe092}.character-table td{background:#15191e;color:#e4e6e8}.portal-placeholder{padding:24px;border:1px dashed #5a6470;text-align:center;color:#abb3bb}.portal-placeholder b{display:block;color:#ffe092;margin-bottom:7px}
.news-list a.featured{background:linear-gradient(90deg,#6d52252c,transparent)}.empty-news{text-align:center;color:#8d8982;padding:17px}.news-dialog{width:min(760px,calc(100% - 28px));max-height:86vh;padding:0;border:1px solid #806b43;background:#181d22;color:#eee;box-shadow:0 20px 70px #000}.news-dialog::backdrop{background:#030507c7;backdrop-filter:blur(3px)}.news-dialog article{position:relative;padding:28px 34px 34px}.dialog-close{position:absolute;right:13px;top:11px;width:34px;height:34px;border:1px solid #8f7444;background:#29231b;color:#ffe092;font-size:22px;cursor:pointer}.news-dialog img{width:100%;max-height:320px;object-fit:cover;border:1px solid #565c60;margin-bottom:18px}.article-meta{display:flex;gap:13px;color:#aaa;font-size:10px}.article-meta em{font-style:normal;color:#e3bc62}.news-dialog h2{color:#ffe092;margin:10px 0 9px}.article-summary{color:#c9c2b8;font-weight:600;border-left:3px solid #b58a3b;padding-left:12px}.article-content{white-space:pre-wrap;line-height:1.75;color:#ddd8d0}.article-link{display:inline-block;margin-top:22px;border:1px solid #a17d3c;padding:9px 14px;color:#ffe092;text-decoration:none}.news-tabs{overflow-x:auto}.news-tabs button{white-space:nowrap}@media(max-width:620px){.news-dialog article{padding:24px 18px}.news-list a{grid-template-columns:72px 1fr}.news-list time{display:none}}
.article-content{white-space:normal}.article-content img,.article-content video{display:block;width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:16px auto;border:1px solid #555}.article-content video{width:100%}.article-content blockquote{margin:15px 0;padding:10px 14px;border-left:3px solid #b58a3b;background:#101419}.article-content a{color:#e5bd63}
.article-content table{width:100%;border-collapse:collapse;margin:16px 0}.article-content th,.article-content td{border:1px solid #5b6268;padding:8px}.article-content th{color:#ffe092;background:#252c32}
.registration-success-dialog{width:min(430px,calc(100% - 28px));padding:0;border:1px solid #a47d35;background:#151a1f;color:#eee;box-shadow:0 22px 80px #000}.registration-success-dialog::backdrop{background:#020405c9;backdrop-filter:blur(3px)}.registration-success-dialog article{position:relative;padding:35px;text-align:center;background:radial-gradient(circle at 50% 0,#35412d,#171c21 48%,#101419)}.registration-success-dialog h2{margin:14px 0 10px;color:#ffe092;font:24px Georgia}.registration-success-dialog p{color:#c9c3b8;line-height:1.6}.registration-success-dialog .mu-button{width:230px;margin-top:12px}.registration-success-icon{width:64px;height:64px;margin:auto;display:grid;place-items:center;border:2px solid #7fd390;border-radius:50%;background:#17291c;color:#8ced9f;font-size:36px;box-shadow:0 0 24px #63d77b3b}
.account-emblem{width:78px;height:78px;display:grid;place-items:center;border:1px solid #b99143;background:radial-gradient(circle,#53452e,#11161b 68%);box-shadow:inset 0 0 18px #000,0 0 18px #d4a94b22;color:#ffe092;font:42px Georgia}
.account-panel small{color:#8de2a3;font-size:10px;letter-spacing:1px}.account-panel h2{margin:5px 0;color:#ffe092;font:27px Georgia}.account-panel p{margin:0;color:#aaa49b}.account-actions{display:grid;gap:9px}.account-button{height:37px;border:1px solid #8c7448;background:linear-gradient(#34302a,#191a1b);color:#ffe092;font-weight:bold;cursor:pointer}.account-button.danger{border-color:#684946;color:#e9aaa4}.password-form{grid-column:1/-1;border-top:1px solid #4d4942;padding-top:18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.password-form label{display:grid;gap:6px;color:#c8c1b6;font-size:10px}.password-form input{height:36px;background:#0b0d10;border:1px solid #51545a;color:#fff;padding:0 10px}.password-form .mu-button{grid-column:1/-1;width:200px;margin:8px auto 0}.password-form .form-message{grid-column:1/-1;margin:0;text-align:center}
@media(max-width:700px){.account-panel{grid-template-columns:1fr;text-align:center;padding:30px}.account-emblem{margin:auto}.account-panel .mu-button{width:100%}.password-form{grid-template-columns:1fr;text-align:left}}
@media(max-width:900px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ranking-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ranking-tabs button{border:1px solid #806a3a;background:#17222c;color:#d8dce0;padding:9px 14px;cursor:pointer}
.ranking-tabs button.active,.ranking-tabs button:hover{background:linear-gradient(#a87622,#66430c);color:#fff4ce}
.ranking-table td:first-child{color:#e8bd54;font-weight:700}
.ranking-controls{display:flex;justify-content:flex-end;margin:-3px 0 12px}.ranking-controls label{display:flex;align-items:center;gap:9px;color:#c8d0d8}.ranking-controls select{border:1px solid #806a3a;background:#111820;color:#ffe092;padding:7px 30px 7px 10px}.ranking-title{margin:0;padding:11px;text-align:center;border:1px solid #4f5660;border-bottom:0;background:#1b2630;color:#ffe092;font-size:14px}.ranking-period{text-align:right;color:#9da9b5;font-size:12px;margin-bottom:8px}.ranking-scroll{overflow:auto}.ranking-table{min-width:660px}.ranking-table th{white-space:nowrap}.ranking-table td{white-space:nowrap}
.character-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;align-items:start}.character-sheet,.character-list{border:1px solid #53606b;background:#13191f;box-shadow:0 12px 30px #05080b55,inset 0 1px #77828b22}.character-sheet>header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #8b6b32;background:linear-gradient(135deg,#323d47,#1b2229 65%);box-shadow:inset 0 1px #ffffff12}.character-sheet header small{color:#aeb7c0}.character-sheet header h3{margin:3px 0 0;color:#ffe092;font-size:20px}.character-sheet header>span{padding:6px 10px;border:1px solid #806735;background:#11171d;color:#ffcf61}.character-sheet h4,.character-list h4{margin:0;padding:10px 14px;border-top:1px solid #3d4650;border-bottom:1px solid #3d4650;color:#e4c67d;font-size:12px;letter-spacing:.5px}.character-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px;background:#0d1217}.character-stat{min-width:0;padding:13px 15px;border:1px solid #3d4853;background:linear-gradient(145deg,#242d35,#171d23);box-shadow:0 5px 12px #0005,inset 3px 0 #7a6235}.character-stat small{display:block;color:#9faab5}.character-stat b{display:block;margin-top:5px;color:#edf1f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-stat b.accent{color:#ffca54;font-size:16px}.character-stats.resources{grid-template-columns:repeat(4,minmax(0,1fr))}.character-note{padding:12px 16px;color:#aeb7c0;background:#10161b}.character-list h4{border-top:0;background:linear-gradient(#303943,#20272e)}.character-list button{display:block;width:100%;padding:12px 14px;border:0;border-left:3px solid transparent;border-bottom:1px solid #343c45;background:#171d23;color:#dbe1e6;text-align:left;cursor:pointer}.character-list button:hover,.character-list button.active{border-left-color:#d8a844;background:linear-gradient(90deg,#30475a,#202b34)}.character-list button span{color:#ffd36d;font-weight:700}.character-list button b{float:right;color:#eef3f6}.character-list button small{display:block;clear:both;margin-top:5px;color:#98a5b0}@media(max-width:850px){.character-layout{grid-template-columns:1fr}.character-list{order:-1}.character-stats,.character-stats.resources{grid-template-columns:repeat(2,minmax(0,1fr))}}
.character-identity{display:flex;align-items:center;gap:12px}.class-portrait{display:block;width:52px;height:52px;flex:0 0 auto;border:1px solid #9a7739;border-radius:4px;box-shadow:inset 0 0 0 1px #171b20,0 2px 8px #000;background-image:url("assets/class-portraits-classic.png");background-repeat:no-repeat;background-size:400% 200%}.portrait-dw{background-position:0 0}.portrait-dk{background-position:33.333% 0}.portrait-elf{background-position:66.666% 0}.portrait-mg{background-position:100% 0}.portrait-dl{background-position:0 100%}.portrait-sum{background-position:33.333% 100%}.portrait-rf{background-position:66.666% 100%}.character-list button .class-portrait{float:left;width:46px;height:46px;margin-right:10px}.character-list button small{clear:none}.character-list button:after{content:"";display:block;clear:both}
.character-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:15px;background:#0c1116}.character-summary .character-stat{padding:15px 17px}.character-location{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:8px;padding:12px 15px;border-top:1px solid #343e47;background:#151b21}.character-location span{padding:11px 13px;border:1px solid #38434d;background:#10161b}.character-location small,.character-location b{display:block}.character-location small{color:#98a4af}.character-location b{margin-top:4px;color:#e6ebef}.character-sheet.compact .character-note{border-top:1px solid #343c45}
.bank-balances{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.bank-balances>div{padding:14px;border:1px solid #4c5660;background:linear-gradient(180deg,#27313a,#171c22)}.bank-balances small{display:block;color:#aab3bb}.bank-balances b{display:block;margin-top:5px;color:#ffd36d;font-size:19px}.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bank-card{padding:17px;border:1px solid #4b545e;background:#171c22}.bank-card h3{margin:0 0 10px;color:#f0cf81;font-size:14px}.bank-card p,.bank-card>small{color:#9ea8b1}.bank-card label{display:block;margin-top:10px;color:#c9d0d5}.bank-card input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px;border:1px solid #59636e;background:#0f1317;color:#fff}.bank-card button{padding:10px 13px;border:1px solid #a47c31;background:linear-gradient(#9a6c24,#614313);color:#fff;font-weight:700;cursor:pointer}.bank-card button:disabled{opacity:.5}.bank-actions{display:flex;gap:8px;margin:12px 0}.bank-card form>button{width:100%;margin:12px 0}.bank-message{min-height:20px;margin-top:10px;color:#aeb6bd}.bank-message.success{color:#70dd8c}.bank-message.error{color:#ff796f}@media(max-width:850px){.bank-balances{grid-template-columns:repeat(2,1fr)}.bank-grid{grid-template-columns:1fr}}
.bank-overview{margin-bottom:18px;border:1px solid #65727d;background:#10161b;box-shadow:0 12px 30px #04070a66,inset 0 1px #ffffff14}.bank-overview>header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #8a6b36;background:linear-gradient(135deg,#34404b,#1b2229 68%)}.bank-overview header small{color:#9eabb5;letter-spacing:1px}.bank-overview header h3{margin:3px 0 0;color:#f4d17f}.bank-overview>header>span{padding:5px 9px;border:1px solid #5b6670;background:#11171c;color:#b9c1c8}.bank-overview .bank-balances{gap:10px;margin:0;padding:13px;background:#0b1014}.bank-overview .bank-balances>div{border:1px solid #3f4a54;padding:16px 18px;background:linear-gradient(145deg,#242d35,#171d23);box-shadow:0 5px 13px #0006,inset 3px 0 #54616b}.bank-overview .bank-balances>div.primary{border-color:#806735;background:linear-gradient(145deg,#493b23,#20262b);box-shadow:0 5px 13px #0006,inset 3px 0 #d5a63e}.bank-card{position:relative;border-color:#55616c;background:linear-gradient(145deg,#242e37,#141a20);box-shadow:0 10px 25px #05080b66,inset 0 1px #ffffff12}.bank-card-icon{position:absolute;right:17px;top:13px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #9a7839;background:linear-gradient(#383126,#15191d);box-shadow:0 4px 12px #0006;color:#ffd36d;font-size:23px}.bank-card-title{padding-right:52px;padding-bottom:12px;border-bottom:1px solid #48535d;margin-bottom:15px}.bank-card-title small{color:#d2a94e;font-size:9px;letter-spacing:1px}.bank-card.is-disabled{filter:saturate(.55)}.feature-offline{display:grid;place-items:center;min-height:95px;border:1px dashed #5a6269;background:#11171c;color:#99a3ab;text-align:center}.feature-disabled{border-style:solid;background:linear-gradient(145deg,#222b33,#12181d);box-shadow:0 10px 28px #0006}.bank-actions button{flex:1}

/* Portal hierarchy refresh */
.portal-detail{margin-top:16px}.portal-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:18px 20px;border:1px solid #52616d;border-bottom-color:#9b7838;background:linear-gradient(120deg,#2a3945,#171e25 72%);box-shadow:0 12px 28px #03060966,inset 0 1px #ffffff12}.portal-section-head small,.feature-heading small{color:#d4a84b;font-size:9px;letter-spacing:1.5px}.portal-section-head h3,.feature-heading h3{margin:4px 0;color:#ffe092;font:20px Georgia}.portal-section-head p{margin:4px 0 0;color:#a9b3bc}.section-emblem{display:grid;place-items:center;width:58px;height:58px;border:1px solid #9b793b;border-radius:50%;background:radial-gradient(circle,#5a4727,#111820 68%);box-shadow:0 0 20px #d7a84225,inset 0 0 13px #000;color:#ffe092;font:bold 14px Georgia}
.account-dashboard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:15px}.account-detail-card,.account-feature-card{border:1px solid #52606b;background:linear-gradient(145deg,#242e37,#13191f);box-shadow:0 12px 28px #03060966,inset 0 1px #ffffff10}.account-detail-heading{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;padding:19px;border-bottom:1px solid #7f6534;background:linear-gradient(120deg,#32424f,#1a2229)}.account-mini-emblem{display:grid;place-items:center;width:58px;height:58px;border:1px solid #a7833e;border-radius:50%;background:radial-gradient(circle,#5c4827,#0c1217 70%);color:#ffe092;font:30px Georgia}.account-detail-heading h3{margin:3px 0;color:#ffe092;font:23px Georgia}.account-detail-heading p{margin:3px 0;color:#aab5bd}.account-detail-heading>small{color:#d4a84b}.account-detail-heading>b{align-self:start;padding:6px 9px;border:1px solid #536775;background:#111820;color:#90dba2;font-size:10px}.online-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#76db8d;box-shadow:0 0 7px #76db8d}.account-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:13px}.account-detail-grid>span{padding:12px;border:1px solid #3d4953;background:#11171d}.account-detail-grid small,.account-detail-grid b{display:block}.account-detail-grid small{color:#929faa}.account-detail-grid b{margin-top:5px;color:#f0f3f5}.feature-heading{padding:17px 18px 11px}.account-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 13px 13px}.account-feature-grid button{position:relative;min-height:92px;padding:14px 12px 12px 48px;border:1px solid #46545f;background:linear-gradient(145deg,#202b34,#12181e);color:#dfe5e9;text-align:left;cursor:pointer}.account-feature-grid button:hover{border-color:#a9823c;background:linear-gradient(145deg,#394653,#1c242b);transform:translateY(-1px)}.account-feature-grid button>span{position:absolute;left:12px;top:14px;display:grid;place-items:center;width:27px;height:27px;border:1px solid #8e7037;border-radius:50%;color:#ffcf63;font-size:9px}.account-feature-grid button b,.account-feature-grid button small{display:block}.account-feature-grid button b{color:#ffe092}.account-feature-grid button small{margin-top:6px;color:#97a4ae;line-height:1.35}
.character-dashboard{grid-template-columns:minmax(0,1fr) 280px}.character-hero{min-height:220px!important;justify-content:flex-start!important;padding:0!important;overflow:hidden}.portrait-stage{position:relative;width:225px;align-self:stretch;flex:0 0 225px;border-right:1px solid #876a37;background:radial-gradient(circle at 50% 25%,#42515d,#11171c 72%)}.portrait-stage .class-portrait{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background-size:400% 200%;box-shadow:none}.portrait-stage>span{position:absolute;left:12px;bottom:12px;z-index:1;padding:5px 8px;border:1px solid #9a7839;background:#0b1014db;color:#ffe092;font-size:8px;letter-spacing:1px}.character-hero-copy{padding:24px 22px}.character-hero-copy>small{color:#d6aa4b!important;letter-spacing:1.4px}.character-hero-copy h3{margin:5px 0!important;font:30px Georgia!important}.character-hero-copy p{margin:0 0 17px;color:#c6d0d7}.hero-badges{display:flex;flex-wrap:wrap;gap:7px}.hero-badges b{padding:7px 9px;border:1px solid #6a5733;background:#11171c;color:#f3cc73;font-size:10px}.character-info-title{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-top:1px solid #4a5660;border-bottom:1px solid #4a5660;background:#172029}.character-info-title small{color:#d1a548;font-size:8px;letter-spacing:1.2px}.character-info-title h4{padding:0!important;border:0!important;margin:3px 0 0!important;color:#e8edf1!important;font-size:13px!important}.character-info-title>span{padding:5px 8px;border:1px solid #50606c;background:#0e151b;color:#aebbc4}.character-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.character-summary .character-stat{padding:13px;box-shadow:inset 3px 0 #7f6635}.character-list h4{display:flex;justify-content:space-between;align-items:center}.character-list h4 small{color:#96a3ae;font-size:9px;font-weight:normal}.character-list button{min-height:82px;padding:12px}.character-list button .class-portrait{width:58px;height:58px;margin-right:12px}.character-list button>span{display:inline-block;margin-top:5px;font-size:13px}.character-list button>b{margin-top:5px}.character-list button>small{padding-top:4px;line-height:1.45}.character-list button>small em{display:block;color:#d4aa50;font-style:normal}.character-list button.active{box-shadow:inset 4px 0 #d8a844,inset 0 0 22px #38546a66}
.bank-overview>header{padding:18px 20px}.bank-overview header h3{font:22px Georgia}.bank-overview header p{margin:4px 0 0;color:#9faab3}.bank-vault-mark{padding:8px 12px!important;border-color:#92733a!important;color:#ffda80!important;letter-spacing:1px}.bank-overview .bank-balances>div{display:flex;align-items:center;gap:11px}.bank-overview .bank-balances i{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border:1px solid #5d6b76;border-radius:50%;background:#0f151a;color:#b8c7d2;font:bold 11px Georgia;font-style:normal}.bank-overview .bank-balances .primary i{border-color:#ab843b;color:#ffe092}.bank-overview .bank-balances small,.bank-overview .bank-balances b{display:block}.bank-card{padding:19px}.bank-card h3{font-size:15px}.bank-card input{height:41px}.bank-card button{min-height:41px}
.ranking-tabs{padding:10px;border:1px solid #45525d;background:#0e151a}.ranking-tabs button{flex:1 1 120px;min-height:40px;border-color:#46535e;background:#18222b}.ranking-tabs button.active,.ranking-tabs button:hover{border-color:#c09543;box-shadow:inset 0 -3px #e0b552;background:linear-gradient(#3d4954,#212a32);color:#ffe092}.ranking-title{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;text-align:left;background:linear-gradient(90deg,#293844,#172029)}.ranking-title small{font:9px Tahoma;color:#9eabb5}.ranking-table{border-collapse:separate;border-spacing:0}.ranking-table th{height:42px;border-width:0 0 1px;background:#23313c;color:#d6dde2}.ranking-table td{height:46px;border-width:0 0 1px;background:#12181d}.ranking-table tbody tr:hover td{background:#202c35}.ranking-table .rank-1 td,.ranking-table .rank-2 td,.ranking-table .rank-3 td{background:linear-gradient(90deg,#2a251a,#171b20)}.rank-medal{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid #8b733f;border-radius:50%;background:#171b20;color:#ffda76;font-weight:bold}.rank-1 .rank-medal{border-color:#e7bd56;box-shadow:0 0 13px #e7bd564d}.rank-2 .rank-medal{border-color:#aab6c1;color:#d9e0e5}.rank-3 .rank-medal{border-color:#a87245;color:#dda06d}
@media(max-width:1050px){.account-dashboard{grid-template-columns:1fr}.character-dashboard{grid-template-columns:1fr}.character-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));order:-1}.character-list h4{grid-column:1/-1}.character-list button{border-right:1px solid #343c45}.portrait-stage{width:210px;flex-basis:210px}}
@media(max-width:650px){.account-feature-grid,.account-detail-grid{grid-template-columns:1fr}.character-list{grid-template-columns:1fr}.character-hero{display:grid!important;grid-template-columns:1fr;min-height:0!important}.portrait-stage{width:100%;height:250px}.character-summary,.character-location{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-vault-mark{display:none}.bank-overview .bank-balances{grid-template-columns:1fr}.ranking-tabs button{flex-basis:calc(50% - 8px)}}

/* Final portal polish: make the selected character and important actions dominant. */
.profile-stats{padding:8px;border:1px solid #46535d;background:#0d1318}.profile-stat{position:relative;overflow:hidden;min-height:58px;padding:12px 14px;background:linear-gradient(145deg,#222e37,#12181e);box-shadow:inset 0 1px #ffffff0d}.profile-stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#c79537,transparent)}.profile-stat b{font:17px Georgia;color:#ffe19a}
.account-panel .portal-detail{min-height:360px}.account-detail-card,.account-feature-card,.character-sheet,.character-list,.bank-overview,.bank-card{border-radius:2px}.character-dashboard{gap:14px}.character-hero{background:linear-gradient(115deg,#253746 0,#151c22 70%)!important}.portrait-stage:after{content:"";position:absolute;inset:auto 8% 0;height:48%;background:radial-gradient(ellipse at bottom,#d8aa4552,transparent 68%);pointer-events:none}.portrait-stage .class-portrait{filter:drop-shadow(0 9px 9px #000b) saturate(1.12) contrast(1.06)}.character-hero-copy h3{text-shadow:0 2px 2px #000,0 0 18px #dba64230}.hero-badges b:first-child{background:#4a3a20}.character-location{background:#0c1216!important}.character-location span{border-left:2px solid #8a6b35}.character-list{max-height:560px;overflow:auto}.character-list button{position:relative;padding-right:58px!important}.character-list button>b{position:absolute;right:12px;top:13px}.character-list button.active>span{font-size:14px}.character-list button.active .class-portrait{filter:drop-shadow(0 0 6px #e3b64c88) saturate(1.15)}
.bank-overview .bank-balances{grid-template-columns:repeat(4,minmax(0,1fr))}.bank-overview .bank-balances>div{min-height:74px}.bank-overview .bank-balances b{margin-top:4px;color:#f7f9fb;font-family:"Segoe UI Semibold","Segoe UI",Tahoma,Arial,sans-serif;font-size:22px;font-weight:700;line-height:1.15;letter-spacing:.015em;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;text-shadow:0 1px 2px #000}.bank-overview .bank-balances .primary b{color:#ffe092}.bank-grid{gap:14px}.bank-card{border-top-color:#8d703a}.bank-card-title h3{color:#ffe092}.bank-actions button{border-color:#8a713d;background:linear-gradient(#9b772f,#513711);color:#fff5cf;font-weight:700}.bank-actions button:hover{filter:brightness(1.15)}
.ranking-scroll{border:1px solid #46535d;border-top:0}.ranking-table tbody tr{transition:background .15s ease}.ranking-table td:nth-child(2){color:#f4d17f;font-weight:700}.ranking-table .rank-1 td{background:linear-gradient(90deg,#44351b,#1a1e22)}.ranking-table .rank-2 td{background:linear-gradient(90deg,#30363b,#171c20)}.ranking-table .rank-3 td{background:linear-gradient(90deg,#35271d,#171c20)}
@media(max-width:900px){.bank-overview .bank-balances{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-stage{flex-basis:190px;width:190px}.character-hero-copy h3{font-size:25px!important}}
@media(max-width:620px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-overview .bank-balances{grid-template-columns:1fr}.portrait-stage{width:100%;height:235px}.portal-section-head{padding:14px}.section-emblem{width:46px;height:46px}.character-list{max-height:none}}

/* Character artwork: light WebP assets with a separate focal point for hero and list frames. */
.portrait-stage{width:255px;flex-basis:255px;min-height:245px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#405362,#0b1015 76%)}
.portrait-stage .class-portrait{display:block!important;inset:0!important;width:100%!important;height:100%!important;z-index:1;border:0!important;border-radius:0!important;background-size:400% 200%!important;background-color:transparent!important;box-shadow:none!important;filter:saturate(1.12) contrast(1.05) drop-shadow(0 12px 12px #000c)!important}
.portrait-stage .class-portrait.portrait-sum{background-position:33.333% 100%!important}.portrait-stage .class-portrait.portrait-rf{background-position:66.666% 100%!important}
.portrait-stage>span{z-index:3}
.portrait-stage>span.class-portrait{padding:0!important;background-repeat:no-repeat!important;color:transparent!important;font-size:0!important;letter-spacing:0!important}
.character-hero-copy{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0}
@media(max-width:900px){.portrait-stage{width:220px;flex-basis:220px}}

.class-portrait.portrait-dw{--portrait-art:url("assets/classes/dw.webp");--portrait-thumb-size:auto 172%;--portrait-thumb-position:50% 13%;--portrait-stage-size:auto 103%;--portrait-stage-position:center bottom}
.class-portrait.portrait-dk{--portrait-art:url("assets/classes/dk.webp");--portrait-thumb-size:auto 150%;--portrait-thumb-position:48% 10%;--portrait-stage-size:auto 104%;--portrait-stage-position:center bottom}
.class-portrait.portrait-elf{--portrait-art:url("assets/classes/elf.webp");--portrait-thumb-size:auto 170%;--portrait-thumb-position:50% 12%;--portrait-stage-size:auto 104%;--portrait-stage-position:center bottom}
.class-portrait.portrait-mg{--portrait-art:url("assets/classes/mg.webp");--portrait-thumb-size:auto 170%;--portrait-thumb-position:50% 12%;--portrait-stage-size:auto 103%;--portrait-stage-position:center bottom}
.class-portrait.portrait-dl{--portrait-art:url("assets/classes/dl.webp");--portrait-thumb-size:auto 150%;--portrait-thumb-position:58% 25%;--portrait-stage-size:contain;--portrait-stage-position:center center}
.class-portrait.portrait-sum{--portrait-art:url("assets/classes/sum.webp");--portrait-thumb-size:cover;--portrait-thumb-position:50% 25%;--portrait-stage-size:cover;--portrait-stage-position:50% 28%}
.class-portrait.portrait-rf{--portrait-art:url("assets/classes/rf.webp");--portrait-thumb-size:auto 165%;--portrait-thumb-position:50% 11%;--portrait-stage-size:auto 103%;--portrait-stage-position:center bottom}
.class-portrait.portrait-dw,.class-portrait.portrait-dk,.class-portrait.portrait-elf,.class-portrait.portrait-mg,.class-portrait.portrait-dl,.class-portrait.portrait-sum,.class-portrait.portrait-rf{background-image:var(--portrait-art)!important;background-repeat:no-repeat!important;background-size:var(--portrait-thumb-size)!important;background-position:var(--portrait-thumb-position)!important;background-color:#090d11!important;image-rendering:auto}
.portrait-stage>span.class-portrait.portrait-dw,.portrait-stage>span.class-portrait.portrait-dk,.portrait-stage>span.class-portrait.portrait-elf,.portrait-stage>span.class-portrait.portrait-mg,.portrait-stage>span.class-portrait.portrait-dl,.portrait-stage>span.class-portrait.portrait-sum,.portrait-stage>span.class-portrait.portrait-rf{background-image:var(--portrait-art)!important;background-size:var(--portrait-stage-size)!important;background-position:var(--portrait-stage-position)!important;background-color:transparent!important}

.character-service-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px;padding-top:14px;border-top:1px solid #49535c}
.character-service-actions button{min-width:118px;padding:9px 11px;border:1px solid #8e7139;background:linear-gradient(180deg,#3e3628,#171b1f);box-shadow:inset 0 1px #fff2,0 4px 10px #0007;color:#ffe092;text-align:left;cursor:pointer}
.character-service-actions button:hover{border-color:#e1b14f;background:linear-gradient(180deg,#725521,#2b2113);transform:translateY(-1px)}
.character-service-actions span,.character-service-actions small{display:block}.character-service-actions span{font-size:10px;font-weight:800;letter-spacing:.04em}.character-service-actions small{margin-top:4px;color:#aeb8c0;font-size:9px}.character-service-actions button:hover small{color:#fff0c2}
.character-service-dialog{width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;overflow:hidden;padding:0;border:1px solid #9a7838;background:#12181d;color:#edf1f4;box-shadow:0 24px 90px #000}
.character-service-dialog::backdrop{background:#020406d9;backdrop-filter:blur(3px)}
.character-service-dialog form{position:relative;min-width:0;box-sizing:border-box;padding:25px;background:linear-gradient(145deg,#28333c,#12181d 72%)}
.character-service-dialog form>small{color:#d3a84f;font-size:9px;letter-spacing:1.3px}.character-service-dialog h3{margin:5px 0 7px;color:#ffe092;font-size:21px}.character-service-dialog p{margin:0 0 17px;color:#aeb8c0}
.character-service-dialog label{display:block;margin:12px 0;color:#d6dde2}.character-service-dialog input,.character-service-dialog select{display:block;width:100%;height:43px;box-sizing:border-box;margin-top:6px;padding:0 12px;border:1px solid #5b6873;background:#0c1115;color:#fff}
.character-service-dialog .mu-button{display:block;width:auto;min-width:145px;margin:14px 0 0 auto;padding:10px 24px}.character-service-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:1px solid #8d7039;background:#251d12;color:#ffd66c;font-size:22px;cursor:pointer}
.character-service-warning{padding:10px 12px;border-left:3px solid #c79235;background:#0d1318;color:#b8c1c8;font-size:11px;line-height:1.5}.character-service-message{min-height:19px;margin-top:10px;color:#b8c1c8}.character-service-message.success{color:#78dc91}.character-service-message.error{color:#ff8278}
@media(max-width:650px){.character-service-actions button{flex:1 1 120px}.character-service-dialog form{padding:23px 18px}}

/* Vietnamese UI typography and compact community panel. */
.brand{position:relative;justify-content:center;gap:0;min-height:52px;text-align:center}
.brand>div{width:100%}
.brand b,.brand small,.portal-section-head h3,.portal-section-head small,.feature-heading h3,.feature-heading small,.ranking-title,.panel-title,.top-title{font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;font-kerning:normal;font-variant-ligatures:none;text-rendering:optimizeLegibility}
.brand b{font-weight:800;letter-spacing:.8px}.brand small{font-weight:600;letter-spacing:.25px}
.portal-section-head h3,.feature-heading h3{font-weight:800;letter-spacing:.045em;line-height:1.18;text-transform:uppercase}
.portal-section-head small,.feature-heading small{font-weight:600;letter-spacing:.12em}
.download{position:relative;min-height:52px;height:auto;display:flex;align-items:center;justify-content:center;gap:9px;overflow:hidden;border-color:#d8ab4d;background:linear-gradient(180deg,#a77b2d,#654410);color:#fff6d8;box-shadow:inset 0 1px #ffe4a0,0 0 18px #d6a64342;text-shadow:0 1px #312000;font-size:12px;letter-spacing:.04em}
.download:before{content:"\2193";display:grid;place-items:center;width:23px;height:23px;border:1px solid #ffe09a;border-radius:50%;font-size:17px;line-height:1}.download:hover{filter:brightness(1.14);box-shadow:inset 0 1px #fff0bd,0 0 24px #e8bd605c}
.social-panel{overflow:hidden}.social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}.social-link{display:flex;align-items:center;gap:7px;min-height:35px;padding:6px 8px;border:1px solid #4c6070;background:#16232e;color:#d9e5ec;text-decoration:none;font-size:10px}.social-link span{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#334b5e;color:#fff;font-weight:800}.social-link b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-link:hover{border-color:#8eaabd;background:#263c4c}.social-link.facebook span{background:#1877f2}.social-link.telegram span{background:#229ed9}.social-link.zalo span{background:#0573e8;font-size:8px}
@media(max-width:580px){.brand{justify-content:flex-start}.brand>div{width:auto}.social-links{grid-template-columns:1fr}}

.admin-detail-grid>.admin-detail-characters{grid-column:1/-1}.admin-account-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:9px}.admin-account-character-grid>button{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto auto;gap:1px 9px;align-items:center;padding:9px;text-align:left;border:1px solid #394853;background:#111a20;color:#dce8ec;cursor:pointer}.admin-account-character-grid>button:hover{border-color:#c79b45;background:#172229}.admin-account-character-grid>button>span{grid-row:1/4;width:36px;height:36px}.admin-account-character-grid>button>span img{width:100%;height:100%;object-fit:contain}.admin-account-character-grid strong{color:#f1d89f}.admin-account-character-grid small,.admin-account-character-grid b,.admin-account-character-grid em{font-size:10px;font-style:normal}.admin-account-character-grid small{color:#93a6af}.admin-account-character-grid b{font-weight:500;color:#c3d0d5}.admin-account-character-grid em{grid-column:2;color:#6fc99a}
.admin-account-character-grid>button{grid-template-columns:52px minmax(0,1fr);grid-template-rows:repeat(4,auto);min-height:82px;overflow:hidden}.admin-account-character-grid>button>.class-portrait{grid-row:1/5;width:52px;height:52px;margin:0;float:none}.admin-account-character-grid>button>strong,.admin-account-character-grid>button>small,.admin-account-character-grid>button>b,.admin-account-character-grid>button>em{grid-column:2;min-width:0;margin:0;overflow-wrap:anywhere}.admin-account-character-grid>button>em{grid-row:auto}

/* Account identity typography: classic MU headings, clean Vietnamese body text. */
.account-summary{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:2px}
.account-summary small{color:#80d8a0!important;font-family:"Segoe UI Semibold","Segoe UI",Tahoma,sans-serif!important;font-size:10px!important;font-weight:700;line-height:1.2;letter-spacing:.16em!important;text-shadow:0 0 10px #65d49335}
.account-panel .account-summary h2{margin:3px 0 1px;color:#f4d688;font-family:"Segoe UI Semibold","Segoe UI",Tahoma,Arial,sans-serif!important;font-size:30px;font-weight:700;line-height:1.06;letter-spacing:.015em;text-shadow:0 1px 0 #3f2b0c,0 0 12px #d6a34028}
.account-summary p{margin:3px 0 0!important;color:#c5cbd0!important;font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;font-size:13px;font-weight:400;line-height:1.45;letter-spacing:.01em}
.account-emblem{font-family:"Segoe UI Semibold","Segoe UI",Tahoma,Arial,sans-serif!important;font-weight:700;text-shadow:0 1px 0 #5c3d0f,0 0 13px #f0c15e38}
.account-detail-heading h3,.account-mini-emblem,.character-hero-copy h3{font-family:"Segoe UI Semibold","Segoe UI",Tahoma,Arial,sans-serif!important;font-weight:700}
body:before{background:#1a2027!important}

/* Trung tâm quản trị game: luôn có sẵn cho Role=ADMIN. */
.game-admin{display:grid;gap:12px;font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:#dce4ea}
.game-admin-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid #526777;border-left:4px solid #d6a43e;background:linear-gradient(135deg,#22313e,#17212a)}
.game-admin-head small,.game-admin-card>small{color:#d9ab4c;font-size:10px;font-weight:700;letter-spacing:.16em}.game-admin-head h3{margin:4px 0;font-size:22px;color:#fff}.game-admin-head p{margin:0;color:#aebbc4}.game-admin-head>span{padding:8px 12px;border:1px solid #ba8b31;color:#f5d98d;font-weight:800}
.game-admin-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:7px;border:1px solid #425564;background:#131c23}.game-admin-tabs button{min-height:38px;padding:0 13px;border:1px solid transparent;background:#202c36;color:#bfcad1;font:700 10px "Segoe UI",sans-serif;letter-spacing:.04em;cursor:pointer}.game-admin-tabs button:hover,.game-admin-tabs button.active{border-color:#b88b39;background:linear-gradient(#8d6724,#583c10);color:#fff2c7}
.game-admin-content{display:grid;gap:12px;min-height:0}.game-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-admin-card{padding:16px;border:1px solid #455965;background:#1a242c;box-shadow:inset 0 1px #ffffff0b}.game-admin-card h4{margin:4px 0 12px;color:#f3d484;font-size:15px}.game-admin-card p{color:#aeb9c0;line-height:1.55}.game-admin-card-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.game-admin-card-title h4{margin:3px 0}.game-admin-card-title button,.admin-inline-button{border:1px solid #8b6b30;background:#30240f;color:#f2d58a;padding:7px 10px;cursor:pointer}
.game-admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-self:start}.game-admin-metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.game-admin-metrics article{display:flex;min-height:86px;padding:11px 15px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #465c6b;border-top:3px solid #c99737;background:linear-gradient(150deg,#24323e,#182129)}.game-admin-metrics small{display:block;color:#99aab5;font-size:10px}.game-admin-metrics b{display:block;margin-top:7px;color:#f5d57d;font-size:22px;font-variant-numeric:tabular-nums}
.game-admin-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.game-admin-toolbar input,.game-admin-toolbar select,.game-admin-form-grid input,.game-admin-form-grid select{box-sizing:border-box;min-height:38px;border:1px solid #4c606d;background:#11191f;color:#eef3f6;padding:8px 10px;font:13px "Segoe UI",sans-serif}.game-admin-toolbar>input{flex:1;min-width:190px}.game-admin-toolbar label{display:grid;gap:4px;color:#aebbc4;font-size:11px}.game-admin-toolbar button,.game-admin-form-grid>button{min-height:38px;padding:0 18px;border:1px solid #d2a343;background:linear-gradient(#a47728,#64440f);color:#fff7df;font-weight:800;cursor:pointer}
.admin-search-input-wrap{position:relative;flex:1;min-width:240px}.admin-search-input-wrap>input{width:100%}.admin-suggestions{position:absolute;z-index:80;top:calc(100% + 4px);left:0;right:0;max-height:310px;overflow:auto;border:1px solid #6a7880;background:#11191f;box-shadow:0 14px 28px #000b}.admin-suggestions[hidden]{display:none}.admin-suggestion{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px!important;padding:8px 11px!important;border:0!important;border-bottom:1px solid #2d3c45!important;background:#172129!important;color:#eaf0f3!important;text-align:left;cursor:pointer}.admin-suggestion:last-child{border-bottom:0!important}.admin-suggestion:hover,.admin-suggestion.active{background:#2b3b46!important;box-shadow:inset 3px 0 #d2a343}.admin-suggestion>span:first-child{display:grid;gap:3px;min-width:0}.admin-suggestion b{color:#f4d582;overflow:hidden;text-overflow:ellipsis}.admin-suggestion small{color:#9eafb9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-suggestion .admin-status{flex:0 0 auto}.admin-suggestion-empty{padding:14px;color:#aebbc4;text-align:center}.admin-suggestion-empty.error{color:#f18c80}
.game-admin-table-wrap{max-width:100%;overflow:auto;border:1px solid #455966;background:#131b21}.game-admin-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.game-admin-table th{position:sticky;top:0;padding:10px;text-align:left;background:#273640;color:#f0d58e;border-bottom:1px solid #5a6b75}.game-admin-table td{padding:9px 10px;border-bottom:1px solid #2b3942;color:#d5dde2;font-variant-numeric:tabular-nums}.game-admin-table tbody tr:hover{background:#273742}.admin-state{display:inline-block;padding:3px 6px;border:1px solid}.admin-state.good{color:#83e4a6;border-color:#36724d}.admin-state.bad{color:#e4a083;border-color:#744437}
.admin-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.admin-detail-grid span{padding:10px;border:1px solid #354854;background:#131c23}.admin-detail-grid small{display:block;color:#879ba8}.admin-detail-grid b{display:block;margin-top:5px;color:#eef2f4;overflow-wrap:anywhere}
.game-admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.game-admin-form-grid.dense{grid-template-columns:repeat(4,minmax(0,1fr))}.game-admin-form-grid label{display:grid;gap:5px;color:#c9d2d8;font-size:12px}.game-admin-form-grid label:has(input[type=checkbox]){display:flex;align-items:center}.game-admin-form-grid input[type=checkbox]{min-height:auto;width:17px;height:17px}.game-admin-form-grid output{align-self:center;color:#b9c5cc}.game-admin-form-grid output.success{color:#72d598}.game-admin-form-grid output.error{color:#f18c80}.portal-placeholder.compact{min-height:120px}
@media(max-width:1050px){.game-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.game-admin-form-grid.dense{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.game-admin-grid,.game-admin-metrics,.game-admin-metrics.four,.admin-detail-grid,.game-admin-form-grid,.game-admin-form-grid.dense{grid-template-columns:1fr}.game-admin-head{align-items:flex-start}.game-admin-head>span{display:none}.game-admin-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.game-admin-tabs button{width:100%}}

/* Admin account/character lookup: search first, reveal the record only on demand. */
.admin-search-card{padding:19px 20px;border-left:4px solid #d0a13f;background:linear-gradient(125deg,#25343f,#151e25 72%)}
.admin-search-card>p{max-width:720px;margin:0 0 14px;color:#aebbc4}
.admin-search-card .game-admin-toolbar{padding:11px;border:1px solid #3d505d;background:#10181e}
.admin-search-card .game-admin-toolbar input{min-height:42px}
.admin-search-card .game-admin-toolbar button{min-width:138px;min-height:42px}
.admin-search-result{display:grid;gap:12px}
.admin-search-empty{min-height:145px;display:grid;place-content:center;gap:8px;padding:24px;border:1px dashed #526878;background:linear-gradient(145deg,#1d2932,#12191f);color:#aebbc4;text-align:center}
.admin-search-empty b{color:#efd084;letter-spacing:.08em}
.admin-search-empty span{max-width:580px;line-height:1.55}
.admin-search-empty.error{border-color:#7d4a42;background:linear-gradient(145deg,#2c211f,#17191b)}
.admin-profile-state{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.admin-account-profile{padding:0;overflow:hidden}
.admin-account-profile>.game-admin-card-title{padding:18px 20px;border-bottom:1px solid #596872;background:linear-gradient(125deg,#2d3c48,#171f26 72%)}
.admin-account-profile>.game-admin-card-title{display:none}
.admin-account-profile>.admin-detail-grid{margin:0;padding:14px 20px}
.admin-account-tools{display:flex;align-items:center;gap:12px;margin:0 20px 13px;padding:10px 12px;border:1px solid #4b606d;background:#111a20}.admin-account-tools button{min-height:38px;padding:0 16px;border:1px solid #d2a343;background:linear-gradient(#a47728,#64440f);color:#fff7df;font-weight:800;cursor:pointer}.admin-account-tools span{color:#aebbc4;font-size:12px}
.admin-account-alert{margin:0 20px 13px;padding:11px 13px;border-left:3px solid #d9a340;background:#2b2417;color:#d8caa9}
.admin-account-alert b,.admin-account-alert span{display:block}
.admin-account-alert span{margin-top:4px;color:#b8aa8b}
.admin-account-form{display:grid;gap:12px;padding:0 20px 20px}
.admin-account-section{border:1px solid #455966;background:#121a20}
.admin-account-section>header{padding:12px 14px;border-bottom:1px solid #455966;background:linear-gradient(90deg,#273640,#1a242c)}
.admin-account-section>header{display:none}
.admin-account-section>header small{color:#93a4af;font-size:9px;letter-spacing:.12em}
.admin-account-section h5{margin:3px 0 0;color:#f1d17d;font-size:14px}
.admin-account-section .game-admin-form-grid{margin:0;padding:12px}
.admin-jewel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px}
.admin-jewel-grid label{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:10px;padding:8px 10px;border:1px solid #394a56;background:#182129;color:#d6dee3}
.admin-jewel-grid input{height:35px;min-width:0;box-sizing:border-box;border:1px solid #566875;background:#0c1216;color:#f2d485;padding:0 9px;font-variant-numeric:tabular-nums}
.alpha-test-settings{grid-column:1/-1}.alpha-test-jewels{margin-top:12px;border:1px solid #394a56;background:#10171c}
.admin-lock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.admin-lock-grid label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #465761;background:#182129;cursor:pointer}
.admin-lock-grid input{width:18px;height:18px;flex:0 0 auto}
.admin-lock-grid span,.admin-lock-grid b,.admin-lock-grid small{display:block}
.admin-lock-grid b{color:#f0d18a}
.admin-lock-grid small{margin-top:4px;color:#9dabb4;line-height:1.4}
.admin-account-submit{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.admin-account-submit button{min-height:39px;padding:0 18px;border:1px solid #d2a343;background:linear-gradient(#a47728,#64440f);color:#fff7df;font-weight:800;cursor:pointer}
.admin-account-submit output.success{color:#72d598}.admin-account-submit output.error{color:#f18c80}
.admin-account-form input:disabled,.admin-account-form button:disabled,.game-admin-form-grid input:disabled,.game-admin-form-grid button:disabled{opacity:.55;cursor:not-allowed}
#adminCharacterEdit{gap:10px;margin-top:14px;padding:12px;border:1px solid #536978;background:#0d151b}#adminCharacterEdit>label{min-width:0;padding:9px 10px;border:1px solid #465c69;border-top:2px solid #b58a37;background:linear-gradient(145deg,#25333d,#172129);color:#f2d584;font-weight:700}#adminCharacterEdit>label>input:not([type=checkbox]){width:100%;min-height:42px;border:1px solid #718592;background:#091116;color:#fff;padding:8px 11px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 4px #0008}#adminCharacterEdit>label>input:not([type=checkbox]):focus{outline:0;border-color:#d4a648;box-shadow:0 0 0 2px #d4a64833,inset 0 1px 4px #0008}#adminCharacterEdit>label:has(input[type=checkbox]){min-height:64px;align-items:center;color:#e6edf1}#adminCharacterEdit>button{min-height:64px;align-self:stretch}#adminCharacterEdit>output{padding:10px}
#adminCharacterResult>.game-admin-card>.game-admin-card-title{display:none}
.admin-choice-group{grid-column:1/-1;display:grid;gap:8px}
.admin-choice-group label{display:flex!important;align-items:flex-start!important;gap:9px;padding:11px;border:1px solid #465761;background:#182129}
.admin-choice-group span,.admin-choice-group b,.admin-choice-group small{display:block}.admin-choice-group b{color:#efd084}.admin-choice-group small{margin-top:4px;color:#9dabb4}
.admin-note{grid-column:1/-1;margin:0;padding:10px 12px;border-left:3px solid #c89536;background:#11191f;color:#aebbc4}
.admin-status{display:inline-block;padding:3px 7px;border:1px solid #526572;color:#d3dce2}.admin-status.success{border-color:#39704a;color:#77d894}.admin-status.muted{color:#a4b0b8}
.warehouse-icon img{position:relative;z-index:1;grid-area:1/1}.warehouse-icon img:not([hidden])+i{display:none}
.warehouse-dialog{width:min(1050px,calc(100vw - 28px));max-height:calc(100vh - 28px);box-sizing:border-box;padding:0;border:1px solid #9b7938;background:#11181d;color:#e9eff2;box-shadow:0 24px 90px #000;overflow:auto}.warehouse-dialog::backdrop{background:#020406dc;backdrop-filter:blur(3px)}.warehouse-shell>header{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid #566a76;background:linear-gradient(120deg,#293945,#151e25)}.warehouse-shell>header small{color:#d6a544;font-size:9px;letter-spacing:.14em}.warehouse-shell h3{margin:4px 0 0;color:#f5d687;font-size:18px}.warehouse-close{width:36px;height:36px;border:1px solid #8d7039;background:#251d12;color:#ffd66c;font-size:22px;cursor:pointer}.warehouse-loading,.warehouse-empty{display:grid;place-content:center;gap:7px;min-height:190px;margin:14px;padding:25px;border:1px dashed #516673;color:#aebbc4;text-align:center}.warehouse-loading b{color:#efcf7e}.warehouse-loading span{display:block;margin-top:7px}.warehouse-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 14px 0}.warehouse-summary span{padding:10px 12px;border:1px solid #3f5360;background:#18232b;text-align:center}.warehouse-summary small{display:block;color:#92a5b0;font-size:9px}.warehouse-summary b{display:block;margin-top:4px;color:#f4d27b;font-size:17px}.warehouse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:7px;padding:14px}.warehouse-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;gap:2px 8px;min-height:70px;padding:8px;border:1px solid #3f515d;background:#172129;color:#dce5ea;text-align:left;cursor:pointer}.warehouse-item:hover{border-color:#9c7a3c;background:#202d36}.warehouse-item.selected{border-color:#f0ba4c;background:#312817;box-shadow:inset 0 0 0 1px #f0ba4c}.warehouse-item.selected::after{content:"✓";position:absolute;right:5px;top:4px;color:#ffd66c;font-weight:900}.warehouse-icon{grid-row:1/4;display:grid;place-items:center;width:48px;height:48px;background:#0c1216;border:1px solid #30424d}.warehouse-icon img{max-width:46px;max-height:46px;object-fit:contain}.warehouse-icon i{grid-area:1/1;color:#71838d;font-size:9px;font-style:normal}.warehouse-icon img:not([hidden])+.warehouse-icon i{display:none}.warehouse-item strong{min-width:0;overflow:hidden;color:#f1d99b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.warehouse-item small{color:#aebbc4;font-size:9px}.warehouse-item em{color:#768b97;font-size:9px;font-style:normal}.warehouse-shell>footer{display:grid;gap:10px;padding:0 14px 15px}.warehouse-actions{display:flex;flex-wrap:wrap;gap:8px}.warehouse-actions button{min-height:39px;padding:0 15px;border:1px solid #d2a343;background:linear-gradient(#a47728,#64440f);color:#fff7df;font-weight:800;cursor:pointer}.warehouse-actions button:disabled{opacity:.45;cursor:not-allowed}.warehouse-shell>footer label{display:grid;gap:5px;color:#aebbc4;font-size:11px}.warehouse-shell textarea{width:100%;height:74px;resize:vertical;box-sizing:border-box;padding:9px;border:1px solid #506470;background:#091116;color:#dbe5ea;font:11px Consolas,monospace}.warehouse-shell output.success{color:#72d598}.warehouse-shell output.error{color:#f18c80}
.character-item-tools{margin:14px 0 0}.character-item-sections{display:grid;gap:10px;padding:14px}.character-item-section{overflow:hidden;border:1px solid #465b68;background:#0d151a}.character-item-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #40535f;background:linear-gradient(90deg,#263641,#182229)}.character-item-section>header small{color:#91a5b0;font-size:9px;letter-spacing:.08em}.character-item-section h4{margin:3px 0 0;color:#f2d382;font-size:13px}.character-item-section>header button{min-height:34px;padding:0 12px;border:1px solid #8b6b30;background:#30240f;color:#f2d58a;font-size:10px;font-weight:800;cursor:pointer}.character-item-section>.warehouse-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));padding:10px}.character-items-empty{grid-column:1/-1;margin:0;padding:20px;border:1px dashed #3d505b;color:#8498a3;text-align:center}.character-items-dialog .warehouse-shell>footer{padding-top:0}
@media(max-width:850px){.admin-jewel-grid,.admin-lock-grid{grid-template-columns:1fr}}
@media(max-width:620px){.character-item-section>header{align-items:stretch;flex-direction:column}.character-item-section>header button{width:100%}}
@media(max-width:620px){.admin-jewel-grid label{grid-template-columns:1fr}.admin-account-submit{align-items:stretch;flex-direction:column-reverse}.admin-account-submit button{width:100%}.admin-search-card .game-admin-toolbar button{width:100%}.admin-account-tools{align-items:stretch;flex-direction:column}.warehouse-summary{grid-template-columns:1fr}.warehouse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-actions button{width:100%}}

.player-events{display:grid;gap:14px}.player-event-group{border:1px solid #465b68;background:#111a20}.player-event-group>header{padding:13px 15px;border-bottom:1px solid #465b68;background:linear-gradient(100deg,#293944,#182229)}.player-event-group>header small{color:#d4a541;font-size:9px;letter-spacing:.13em}.player-event-group h3{margin:4px 0;color:#f2d17a}.player-event-group p{margin:0;color:#9fadb5;font-size:12px}.player-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.player-event-card{display:grid;gap:10px;padding:12px;border:1px solid #40535e;border-top:3px solid #687882;background:linear-gradient(145deg,#1c2831,#121a20)}.player-event-card.ready{border-top-color:#d9aa46;box-shadow:inset 0 0 20px #d9aa4610}.player-event-card.claimed{opacity:.72}.player-event-card>header{display:flex;justify-content:space-between;gap:10px}.player-event-card>header small{color:#98a9b2;font-size:9px;letter-spacing:.1em}.player-event-card h4{margin:4px 0;color:#f0d489}.player-event-card>header>span{align-self:start;padding:4px 7px;border:1px solid #566873;color:#b8c4ca;font-size:9px;font-weight:800}.player-event-card.ready>header>span{border-color:#b78a36;color:#f5d989}.player-event-card.claimed>header>span{border-color:#3a7751;color:#7bd39a}.event-progress-list{display:grid;gap:6px}.event-progress-list>div{display:grid;gap:4px}.event-progress-list span{display:flex;justify-content:space-between;color:#aebbc3;font-size:10px}.event-progress-list span b{color:#d9e0e4}.event-progress-list i{height:5px;background:linear-gradient(90deg,#b6862f var(--progress),#2b3942 var(--progress));box-shadow:inset 0 0 0 1px #0006}.event-progress-list .done span small{color:#72d397}.event-reward-preview{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid #394b55;background:#0c1419}.event-reward-preview>b{color:#9daeb7;font-size:9px}.event-reward-preview span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.event-reward-preview img{width:40px;height:40px;object-fit:contain;border:1px solid #3b4e59;background:#080e12}.player-event-card>button{min-height:38px;border:1px solid #d2a343;background:linear-gradient(#a47728,#64440f);color:#fff6dc;font-weight:800;cursor:pointer}.player-event-card>button:disabled{border-color:#43525b;background:#202a31;color:#76858d;cursor:not-allowed}.bank-message.success{color:#72d598}.bank-message.error{color:#ef8c81}
@media(max-width:760px){.player-event-list{grid-template-columns:1fr}}
.event-reward-preview>span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.event-reward-item{position:relative;display:grid!important;place-items:center}.event-item-tooltip{position:absolute;z-index:30;right:0;bottom:calc(100% + 8px);display:grid!important;width:max-content;min-width:190px;max-width:280px;gap:4px!important;padding:10px 12px;border:1px solid #9f7d3c;background:linear-gradient(145deg,#101820f7,#070b0ef7);box-shadow:0 10px 28px #000d;color:#c3cdd2;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(5px);transition:.15s}.event-item-tooltip:after{content:"";position:absolute;right:15px;top:100%;border:6px solid transparent;border-top-color:#9f7d3c}.event-item-tooltip strong,.event-item-tooltip small{display:block}.event-item-tooltip strong{padding-bottom:6px;border-bottom:1px solid #43525b;font-size:12px;line-height:1.35}.event-item-tooltip small{color:#b8c4ca;font-size:10px;line-height:1.35}.event-reward-item:hover .event-item-tooltip,.event-reward-item:focus .event-item-tooltip{opacity:1;visibility:visible;transform:none}

.payment-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #536674;background:linear-gradient(110deg,#263844,#172129)}.payment-head small{color:#d4a542;font-size:9px;letter-spacing:.14em}.payment-head h3{margin:4px 0;color:#f2d483}.payment-head p{margin:0;color:#a8b5bd}.payment-head>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #b88b36;color:#f0d17e;font-weight:900}.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;padding:18px 0}.payment-bank-info{display:grid;gap:15px}.payment-bank-name{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #40515c}.payment-bank-name>b{display:grid;place-items:center;min-width:72px;height:42px;border:1px solid #b48835;background:#2a2112;color:#f6d67e}.payment-bank-name span,.payment-bank-name strong,.payment-bank-name small{display:block}.payment-bank-name strong{color:#eef3f5}.payment-bank-name small{margin-top:3px;color:#91a2ac}.payment-bank-info dl{display:grid;gap:0;margin:0;border-top:1px solid #3e505b}.payment-bank-info dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;padding:11px 0;border-bottom:1px solid #3e505b}.payment-bank-info dt{color:#96a8b2;font-size:11px}.payment-bank-info dd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:#eef3f6;font-weight:700}.payment-bank-info dd.accent{color:#f1ce72}.payment-bank-info button{padding:5px 8px;border:1px solid #82652f;background:#2b2110;color:#efd17d;font-size:9px;cursor:pointer}.payment-bank-info>label{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;color:#c7d1d6}.payment-bank-info input{height:40px;border:1px solid #526873;background:#0b1318;color:#fff;padding:0 11px;font-variant-numeric:tabular-nums}.payment-bank-info>p{margin:0;color:#aebbc3}.payment-bank-info>p b{color:#eacf86}.payment-qr{display:grid;place-items:center;align-content:start;gap:10px;padding:14px;border:1px solid #465966;background:#eef2f3;color:#27323a;text-align:center}.payment-qr img{display:block;width:min(300px,100%);height:auto}.payment-qr small{line-height:1.45}.payment-qr small b{color:#755315}
@media(max-width:820px){.payment-layout{grid-template-columns:1fr}.payment-bank-info dl>div,.payment-bank-info>label{grid-template-columns:1fr;gap:6px}.payment-qr{max-width:360px;margin:auto}}
.payment-layout.payment-simple{display:grid;grid-template-columns:minmax(280px,520px);justify-content:center;padding:22px}.payment-amount{display:grid;gap:10px;color:#d7e0e5;font-weight:700}.payment-amount input{height:44px;padding:0 12px;border:1px solid #526873;background:#0b1318;color:#fff;font-size:15px;font-variant-numeric:tabular-nums}.payment-amount button{height:44px;border:1px solid #d2a343;background:linear-gradient(#a47728,#64440f);color:#fff6dc;font-weight:800;cursor:pointer}.payment-simple .payment-qr{width:min(330px,100%);box-sizing:border-box;margin:auto;padding:12px}.payment-simple+.bank-message:not(:empty){margin:0 22px 20px;text-align:center}
@media(max-width:700px){.payment-layout.payment-simple{grid-template-columns:1fr;padding:16px}.payment-simple .payment-qr{width:100%;max-width:330px;box-sizing:border-box;margin:auto}}
/* Captcha được máy chủ vẽ thành ảnh; giữ hàng xác thực gọn, không kéo dài theo form đăng nhập. */
.captcha{grid-template-columns:115px minmax(180px,280px) 170px;justify-content:start}
.captcha button{width:170px;padding:0;overflow:hidden}
.captcha button img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;pointer-events:none}
@media(min-width:1500px){.captcha{grid-template-columns:145px minmax(220px,320px) 190px}.captcha button{width:190px}}
@media(max-width:580px){.captcha{grid-template-columns:minmax(0,1fr) 140px}.captcha>span{grid-column:1/-1}.captcha button{width:140px}}
#adminTotpSecret{padding:12px;border:1px solid #9d741c;background:#121a20;overflow-wrap:anywhere}
#adminTotpSecret code{display:block;margin-top:6px;color:#f5cf62;font-size:16px;letter-spacing:2px;user-select:all}

/* Hai khung banner cố định theo đúng kích thước công bố trong Admin. */
.hero-banner,.side-banner{
  width:100%;
  max-width:100%;
  height:auto!important;
  background-color:#0b1116;
  background-repeat:no-repeat!important;
  background-position:center,center!important;
}
.hero-banner{
  aspect-ratio:1200 / 220;
  min-height:0;
  background-image:linear-gradient(90deg,#02040700,#02040762),var(--hero-image,var(--mu-banner))!important;
  background-size:100% 100%,cover!important;
}
.side-banner{
  aspect-ratio:420 / 220;
  min-height:0;
  background-image:linear-gradient(90deg,#02040700,#02040762),var(--side-image,var(--mu-banner))!important;
  background-size:100% 100%,cover!important;
}
